注册 登录
编程论坛 汇编论坛

一个作业题,看看吧,

努力的汇编 发布于 2013-01-07 22:45, 554 次点击
4.2把AX中存放的16位二进制数K看作是8个二进制的“四分之一字节”。试编写程序要求数一下值为3(即11B)的四分之一字节数,并将该数(即11B的个数)在终端上显示出来。
下面这个代码完成任务。想问一下第二个行不??上机实验不行啊
data segment
    sq dw 198
data ends
code segment
    assume cs:code
start:    mov ax,data
    mov ds,ax
    mov dl,0
    mov cx,8
compare:test ax,03h
    jne noequal
    inc dl
noequal:    ror ax,1
    ror ax,1
    loop compare
    add dl,'0'
    mov ah,02h
    int 21h
    mov ax,4c00h
    int 21h
code ends
end start
为何呢这个不行啊?
data segment
    sq dw 198
data ends
code segment
    assume cs:code
start:    mov ax,data
    mov ds,ax
    mov dl,0
    mov cx,8
compare:test ax,03h
    jne noequal
    inc dl
noequal:    ror ax,1
    ror ax,1
    loop compare
    add dl,'0'
    mov ah,02h
    int 21h
    mov ax,4c00h
    int 21h
code ends
end start




6 回复
#2
hu9jj2013-01-08 08:07
楼主就直接将作业题复制粘贴过来了。
#3
努力的汇编2013-01-08 11:20
回复 2楼 hu9jj
是啊可是没看见我给出答案和疑问了吗????
#4
zklhp2013-01-08 19:17
祝楼主好运
#5
hu9jj2013-01-09 14:06
以下是引用努力的汇编在2013-1-8 11:20:35的发言:

是啊可是没看见我给出答案和疑问了吗????
两段代码有什么区别应该直接告诉大家啊,不行是什么状况(运行出错或结果出错)也应该告诉大家啊。否则大家还得花时间一行行地分析代码、还得上机测试结果,恐怕你的老师也没有这个时间来做吧,除非也是正在学习的坛友正好借此锻炼一下。
#6
bobo21853552013-01-09 14:30
我++,汇编里面都开始找小3了啊,LZ貌似你 复制的是同一段代码
#7
赤血之魂2013-01-11 07:32
新手
1