用Loop指令在内存2000H中查找第一个值为0的Byte

fansses 2005-08-13 09:15:31
assume cs:code
code segment
start:mov ax,2000h
mov ds,ax
mov bx,0
s:mov cl,[bx]
mov ch,0

____________
inc bx
loop s

ok:dec bx
mov dx,bx
mov ax,4c00h
int 21h

code ends
end start

理解程序已经全了,可是那————少一个指令。。指点迷津
...全文
67 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjyu88 2005-08-14
  • 打赏
  • 举报
回复
换过条件跳转..
fansses 2005-08-13
  • 打赏
  • 举报
回复
哈哈,和我乱想的一样,,我是想,即然有个OK标志在那,肯定是叫转的

不过我想,,jczx是要CX=0时,就执行,如果 [5] 里的确是0

跳转下来,bx被减1了。怎么可以得到他的偏移地址了……

--------------------------
VXD1 zara 唉,我的问题都是这二个大人解答,晕死………………。。感激
zara 2005-08-13
  • 打赏
  • 举报
回复
jcxz ok
第三章 8086/8088的寻址方式和指令系统 练习题 一.单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为( )。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为(  )。 A.13000H B.23000H C.33000H D. 3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为( )。 A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX的MEM是( )。 A.原码 B.反码 C.补码 D.移码 5.用来作为寄存器间接寻址的寄存器有( )个。 A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL的目的操作数使用( )段寄存器。 A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]的源操作数使用( )段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变( )的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变( )的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令不改变PSW的指令是( )。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令不影响CF的指令是( )。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码9CH和7AH相加运算后,会产生( )。 A.无溢出且无进位 B.无溢出但有进位 C.有溢出且有进位 D.有溢出但无进位 13.指令JMP WORD PTR [BX]属于( )寻址。 A.段内直接 B.段内间接 C.段间直接 D.段间间接 14.指令MOV AX,[BX+SI+8]的源操作数属于( )寻址。 A.直接 B.寄存器相对 C.基址变址 D. 相对基址变址 15.指令( )不改变CF的内容。 A.DEC AL B.ADD AX,CX C.SUB [BX],CL D.SBB AL,DL 16.十进制数字74所对应的压缩型BCD码的形式是( )。 A.74 B.74H C.4AH D.4A 17.十进制数字85所对应的非压缩型BCD码的形式是( )。 A.0085 B.0085H C.0805 D.0805H 18.设AL=67H,执行“CMP AL,76H”后,AL=( )。 A.76H B.0DFH C.67H D.00 19.设AL=65H,BL=29H,执行下列指令后,AL=( )。 ADD AL,BL DAA A.8EH B.94 C.94H D.8E 20.压栈操作是( )位数的操作。 A.8 B.16 C.32 D.任意 21.执行IMUL指令时,如果乘积的高位部分不是低位部分的符号扩展,则( )。 A.OF=0、CF=0 B.OF=0、CF=1 C.OF=1、CF=0 D.OF=1、CF=1 22.设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=( )。 A.0376H B.01BBH C.01BB D.0376 23.若要在BUF缓冲区寻找与AL不相等的数据,应使用( )SCASB串操作指令。 A.REPNE B.REP C.REPE D.REPNZ

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧