汇编语言王爽实验14问题

为什么通不过编译?

assume ds:data,ss:stack,cs:code

data segment

time: db "20??/??/?? ??:??:??",0

routine: db 9,8,7,4,2,0
data ends

stack segment
db 12 dup (0)
stack ends

code segment
start:

     mov ax,data
     mov ds,ax
     mov si,offset time+2
     mov di,offset routine 
     mov ax,stack
     mov ss,ax
     mov sp,12
     mov cx,6

lp:

push cx

mov al,ds:[di]
out 70h,al
in al,71h

     mov ah,al
     mov cl,4
     shr ah,cl
     and al,00001111b
     add ah,30h
     add al,30h


     mov byte ptr ds:[si],ah
     mov byte ptr ds:[si+1],al
     inc di
     add si,3
     pop cx
     loop lp

     mov ax,0b800h
     mov es,ax
     mov di,160*12 
     mov si,offset time

show: mov cl,[si]
mov ch,0
jcxz ok
mov es:[di],cl
inc si
inc di
inc di
jmp show

ok: mov ax,4c00h
int 21h

code ends
end start

0

1个回答

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
王爽《汇编语言》实验14
方法一:assume cs:code,ds:data data segment db '00/00/00 00:00:00','$' db 9,8,7,4,2,0 data ends code segment start: mov ax,data mov ds,ax mov si,0 mov cx,6 mov bx,...
王爽《汇编语言》第三版 实验14
题目要求: 解题思路及代码: assume cs:code ;可以位此程序设计两个子程序,一个用来接收单元参数 ;一个用来接收格式参数(:/),并显示字符串 code segment ;unit段存放各字段再CMOS RAM的位置 unit: db 9, 8, 7, 4, 2, 0 ;return数据段用来存放show_what子程序的返回值(修改后的ax值) re...
《汇编语言第三版》王爽学习历程——实验14
访问CMOS RAM 要求: 编程,以“年/月/日 时:分:秒”的格式,显示当前的日期,时间。 个人分析: 我是以一个输出模板’yy/mm/ss hh:mm:ss’, 0,然后把提取到的数字转换字符都’扔’到模板中,方便后续一起输出,调用一个输出的子程序就可以搞定。 提醒一点,读出来的数是一个2位的十进制数,由课本中提到的BCD码,可以知道,低4位代表的是十进制的个位,高4位是十进制的十...
汇编语言(王爽)--实验14 访问CMOS RAM
assume cs:code,ds:data data segment db 9,8,7,4,2,0 db '00/00/00 00:00:00' data ends code segment start: mov ax,data ; mov ds,ax mov si,0 mov di,6 mov ...
王爽《汇编语言》第十四章实验14
这个实验比较简单,书中给出的例子是直接把CMOS中读出的值复制到显存中,不过我没有这么做,我是将从CMOS中读出的数据放到数据段中,然后调用dos的中断函数直接显示字符串,下面是代码。  assume cs:codedata segment        db 9,8,7,4,2,0 ;存放顺序读取的CMOS端口        db '00/00/00 00:00:00','$'  
王爽《汇编语言》第十四章实验——访问CMOS RAM
1.端口的读写: (1). 读操作,从60h端口读入一个字节,指令如下: mov al, 60h (2). 写操作,往20h端口写入一个字节,指令如下: out 20h, al (3). 在 in 和 out 指令中,只能使用 ax 或 al 来存放从端口中读入的数据或要发送到端口中的数据。访问8位端口时用al,访问16位端口时用ax。 2. CMOS RAM 芯片
王爽《汇编语言》实验14——访问CMOS RAM
编程,以"年/月/日 时:分:秒"的格式,显示当前的日期、时间.
汇编语言 第三版 王爽 实验10-2 编写子程序 之 解决除法溢出问题 divdw
dw型除以db结果为dw型的除法运算
王爽《汇编语言》实验十10.3数值显示
assume cs:code data1 segment dw 123,12666,1,8,3,38 data1 ends data segment db 30 dup (0) ;该段存放转换后的字符串 data ends code segment start:mov ax,data1 mov es,ax ...
《汇编语言第三版》王爽学习历程——实验10(1)
编写子程序——显示字符串 新人自己分析的,希望大神给予意见~! 题目要求: 显示字符串是现实工作中经常要用到的功能,应该编写一个通用的子程序来实现这个功能。我们应该提供灵活的调用接口,使调用者可以决定显示的位置(行、列)、内容和颜色。 子程序描述: 名称:show_str 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 参数:(dh)=行号(取值范围0~24),(dl)...
《汇编语言》(王爽主编)课后习题答案及实验解答
要是看过王爽老师的这本《汇编语言》教材后的人,如果他还说这是本垃圾书的话,那我很难相信他是个正常人[如果不是记不住英文字母的第二个字母是什么的话,我一定会用最粗俗的言语、最流行的骂法来形容这类人]。事实证明,此书确实是好评如潮。如果你认为本人是为此书做广告或对本人的说法仍持怀疑态度,那你大可去网上搜索关于此书的资料,从而让事实来说服你自己。 相信大多数看过此书的人都为其没有答案而苦恼,究其原因主要是会认为自己做的答案有错误。本人一开始也是如此,但随着学习的深入,尤其是学会了调试之后,本人就不再为没有答案而苦恼了。题目做的对错与否,上机调试便可验证出来。也许一位网友说的对:从不相信自己到相信自己只是一个时间长短的问题。因此,本人预祝大家在学习的过程中能够在尽量短的时间内实现'不相信自己'到'相信自己'的过渡。
【汇编语言(第3版)王爽】问题7.9代码
assume cs:codesg, ss:stacksg, ds:datasg stacksg segment dw 0,0,0,0,0,0,0,0 stacksg ends datasg segment db '1. display ' db '2. brows ' db '3. replace ' db '4. m
王爽-汇编语言第三版实验7
这个题目做了很久,使用了2中方法做出了结果,不过目前在单步调试时还有点疑问。 题目:Power idea公司从1975成立一直到1995年的基本情况被定义到了datasg中,编程将datasg段中的数据写入到table段中,并计算21年中的人均收入(取整),结果保存到table段中 两种方法我都使用到了栈, 因为在双重循环中,需要保存外层循环的循环次数。 方法一: 先复
王爽.汇编.第三版.实验14.答案
; 显示cmos timeassume cs:codedata segment db 9,8,7,4,2,0 ; 端口中时间的字节偏移 db '// :: ' ; 间隔符 data endscode segment start:;此处是为了一直显示时间,此程序是不能退出的!!! alwaysshow: ; 写入的位置 mov ax, 0b800h
王爽《汇编语言》第八章实验七 题目分析解答
 王爽老师的《汇编语言》是很好的一本汇编书,里面用通俗的例子讲清楚了很多让汇编初学者一直困惑的难点。比如寄存器分段寻址、各种寄存器的作用等等。第八章是这本书的一个总结性的章节,后面也给出了一道比较综合的题目,完成这道题是对之前学习的检验,所以要继续往下学习,这道题是必须完成的。经过半天时间的编程,本人也完成了这道综合的题目,在写代码的过程中,也搜索过一些参考的代码,但大多数网上的资料只
《汇编语言》(第三版)王爽第十章实验10.1个人方法记录
编写一个子程序作为字符串的输出框架 assume cs:code data segment db 'Welcome to masm!',0 data ends code segment strat: mov dh,8 ;字符串输出行位置 mov dl,80 ;字符串输出列位置 mov cl,2 ;显示模式(8位) mov ax,data mov ds,ax ;d
王爽《汇编语言》实验10.2——解决除法溢出的问题
王爽《汇编语言》实验10.2——解决除法溢出的问题 被除数位dword型,除数为word型, 结果为dword型。
王爽 汇编语言 第三版 实验14 访问 CMOS RAM
编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
《汇编语言》王爽 P88 实验3
《汇编语言》王爽 P88 实验3 Mac系统配置这些蛮麻烦的: 下载个DOSBOX,再下载debug,在DOSBOX中把debug挂到C盘去吧 比如我想把air下面的debug文件挂成C盘,就括号中这条命令: (mount c /Users/air/debug),当然你也可以放其他位置,取其他的名字,只要后面的目录对就可以; 下载edit.exe 和masm都放到debug这个文件中...
汇编语言 第三版 王爽 实验6 更改大写字母
大小写字母转换实验
《汇编语言》(第三版)王爽第十二章实验12个人方法记录
assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset d0 mov ax,0 mov es,ax mov di,200H mov cx,offset d0end-offset d0 rep movsb mov ax,0 mov es,ax mov word ptr es
王爽《汇编语言》实验10.3——数值显示
王爽《汇编语言》实验10.3——将word型数据转变为表示十进制数的字符串,字符串以0为结尾符。
王爽《汇编语言》第三版 实验7 代码
assume cs:codesg ;将整个data段看作是一个数组,长度一共为 ;21*4+21*4+2*21=168+42=210字节 data segment db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983' db '1984', '1985', '1986', '1987', '...
汇编语言(王爽 第三版)实验10 编写子程序
一. 子程序:显示字符串 实验要求:在屏幕的8行3列,用绿色显示data段中的字符串。 名称:show_str 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 参数:(dh)=行号(0-24取值范围);(dl)=列号(0-79取值范围);(cl)=颜色(是一个二进制排列组合的值);ds:si指向字符串的首地址。 assume ...
王爽《汇编语言》(第三版) 实验8、9:
下面的程序简单分析了一下: assume cs:code code segment mov ax, 4c00H int 21h start: mov ax, 0 s: nop nop mov di, offset s mov si, of...
王爽《汇编语言》(第三版)实验8解析
先贴出来代码: assume cs:code code segment mov ax, 4C00H int 21H start: mov ax, 0 s: nop nop mov di, offset s mov si, offset s2 mov ax, cs:[si] mov cs:[di], ax
王爽《汇编语言》实验16
实验结果 代码如下 assume cs:code stack segment db 128 dup (0) stack ends code segment start: mov ax,stack mov ss,ax mov sp,128 push cs pop ds mov ax,0 mov es,ax mov s
王爽《汇编语言》第三版 实验13
实验1 安装代码:ins.asm assume cs:code code segment start: mov ax, cs mov ds, ax mov si, offset show mov ax, 0 mov es, ax mov di, 200h mov cx, offset showen...
汇编语言-王爽-实验4
这学期在学汇编,没怎么自己动手编程过,结果到了中期编不出程序来,实在太尴尬了 特此来补各个实验。   4-1 1  0:200~0:20b 为什么等同于 0020:0~0020b? 0:200 =0x16h+200=00200h 所以拆分成不同的形式即可转换 assume cs:code code segment    mov ax,0200h
《汇编语言》(第三版)王爽第八章实验7个人方法记录
陆续学习王爽8086汇编的个人编程练习系列(1)
汇编语言 王爽(第三版)实验十七
assume cs:codecode segment start: mov ax,cs mov ds,ax mov si,offset int7cstart mov ax,0 mov es,ax mov di,200h mov cx,offset int7cend - offset i
王爽《汇编语言第三版》实验四
运行结果如下图:  
《汇编语言》(第三版)王爽第九章实验9个人方法记录
assume cs:codesg,ds:datasg,ss:stacksg datasg segment db "welcome to masm!" db 2,24h,71h datasg ends stacksg segment db 16 dup(0) stacksg ends codesg segment start: mov ax,datasg mov ds
王爽《汇编语言》第三版 第十章 实验十
1、显示字符串 代码如下: assume cs:code data segment db 'Welcome to masm!', 0 data ends code segment start: mov dh, 8 mov dl, 3 mov cl, 2 ...
王爽《汇编语言》实验16(自动测试版)
assume cs:code,ss:stack stack segment db 128 dup (0) stack ends ;===============install Subroutine: code segment start: mov ax,code mov ds,ax mov si,offset Subroutine mov ax,0 m...
《汇编语言第三版》王爽学习历程——实验10(3)
编写子程序——数值显示 新人自己分析的,希望大神给予意见~! 问题描述: 将数值显示到屏幕上 子程序描述 名称:dtoc 功能:将word型数据转变为表示十进制数的字符串,字符串以0结尾 参数:(ax)=word数据, ds:si指向字符串的首地址 返回:无 分析 个人认为这个子程序还是蛮简单的。 1、并不是内存中存的多少,在屏幕上就能显示多少,因为显卡遵循ASCII码,除非...
汇编语言王爽(第三版)第三章检测点答案和解析
  检测点3.1 (1)  在DEBUG中,用 "D 0:0 lf" 查看内存,结果如下:  0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60  0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88  下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完...
王爽《汇编语言》(第三版) 实验7终极详解
实验7主要是寻址方式与div指令的综合运用,这也是他的难点所在。第一部分一、在8086CPU中的一些寻址方式用到的寄存器有bx,bp,si,di。其中bx,bp是同一类寄存器,si,di是同一类寄存器。在寻址方式中不能同时出现同一类寄存器,即有bx就不能出现bp,有si就不能出现di。其中bx,si,di的默认段寄存器是DS,bp默认段寄存器是SS。二、我们在来看8086CPU的一些寻址方式。(以...
汇编语言 王爽(第三版)实验十一
assume cs:codesgdatasg segment db "Beginner's All-purpose Symbolic Instruction Code.",0 datasg endsstack segment db 16 dup(0) stack endscodesg segment begin: mov ax,stack mo
汇编语言 第三版 王爽 实验5 第5、6小题程序
记录分享一些经典的汇编程序
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 王青松nlp视频 数据库精品课程王珊