社区
汇编语言
帖子详情
用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
打赏
收藏
用Loop指令在内存2000H中查找第一个值为0的Byte
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 理解程序已经全了,可是那————少一个指令。。指点迷津
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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寻址方式及
指令
系统
第三章 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
汇编 第九章 转移
指令
的原理
第九章 转移
指令
的原理 8086CPU的转移
指令
分为以下几类: 1.无条件跳转
指令
(如:jmp) 2.条件跳转
指令
3.循环
指令
(如:l
oop
) 4.过程,就像C语言
中
的函数 5.
中
断 9.1 操作符offset 操作符offset(伪
指令
)在汇编语言
中
由编译器处理,它的功能是取标号的偏移地址。 assume cs :codesg codesg segment start : mov ax,offset start;相当于mov ax,0 s : mov ax,offset s;相当于mov a
汇编语言-------王爽第9章答案
答案检测点9.1检测点9.2检测点 9.3实验8 分析一个奇怪的程序 检测点9.1 程序如下: assume cs:code data segment dd 3 dup (0) data ends code segment start:mov ax,data mov ds,ax mov bx,0 jmp word ptr [bx+1] code ends end start 若要使程序
中
的jmp
指令
执行后,CS:IP指向程序的第一条
指令
,在data段
中
应该定义哪些数据?
汇编语言第四版学习
第一章 基础知识 二进制和汇编语言的关系 在汇编语言
中
,用助记符代替机器
指令
的操作码,用地址符号或标号代替
指令
或操作数的地址。 汇编语言由三部分构成: 注:为了指出数据的来源、操作结果的去向及所执行的操作,一条
指令
一般包含操作码和操作数两部分。
内存
的最小单元:一个字节 = 2个十六进制位 = 8个二进制位。 注:1
byte
= 8bit;1bit = 1个二进制位 计量单位: 1 KB = 2 ^ 10
byte
1 MB = 2 ^ 20
byte
1 GB = 2 ^ 30
byte
汇编--
查找
第一个
非0字符的五种方法
第一种 #include <windows.h> #include <stdio.h> void main(void) { int m = 0, cout = 0; char cStr2Find[1024] = {0}; printf("请输入一段字符串"); scanf("%s", cStr2Find);...
汇编语言
21,459
社区成员
41,602
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章