社区
汇编语言
帖子详情
jmp [bx] 和 jmp word ptr[bx] 有什么不同?
学哲馆
2005-07-12 02:18:54
谢谢................如题!
jmp [bx] 和
jmp word ptr[bx] 有什么不同?
...全文
1178
1
打赏
收藏
jmp [bx] 和 jmp word ptr[bx] 有什么不同?
谢谢................如题! jmp [bx] 和 jmp word ptr[bx] 有什么不同?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
VxD1
2005-07-12
打赏
举报
回复
jmp [bx] 这条指令有问题,因为不知道存储器操作数是多少位
jmp word ptr[bx] 这条指令是近转移
汇编语言
jmp
指令用法总结
对汇编中的
JMP
指令用法总结,希望对您有用。
桂林电子科技大学微机原理PPT学习教案.pptx
桂林电子科技大学微机原理PPT学习教案.pptx
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 24.如果“JNC L”指令的操作码放在0040H,转移后在0020H处取下一条指令的操 作码,那么该条指令的位移量是( )。 A.20H B.1EH C.0DEH D.0E0H 25.如果“JA P”指令的操作码放在0050H, 该指令的位移量为34H,执行完此条指 令转移到取下一条指令的偏移地址为( ) A.0082H B.0084H C.0086H D.0088H 26.若DS=1000H,
BX
=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行 “ADD AX,[
BX
]”指令后,AX=( )。 A.8856H B.6678H C.8800H D.6600H 27.设AX、
BX
寄存器中存放的是有符号的二进制数据,若执行“CMP AX,
BX
”指 令后,( )L表示大于则转L。 A.JZ B.JA C.JGE D.JG 28.执行“DIV
BX
”指令后,( )寄存器中存放商。 A.AL B.AH C.AX D.DX 29.执行“( )AX,
BX
”指令不改变AX寄存器中的内容。 A.CMP B.ADD C.XOR D.OR 30.若AX=1000H,执行“NEG AX”指令后,AX=( )。 A.1000H B.0E000H C.0F000H D.1001H 二.多项选择题 1.在下列寻址方式中,用来访问内存的寻址方式有( )。 A.寄存器寻址 B.寄存器间接寻址 C.寄存器相对寻址 D.直接寻址 2.用来作为寄存器间接寻址的寄存器有( )。 A.AX B.
BX
C.BP CX 3.在下列指令中,源操作数使用DS段寄存器进行寄存器相对寻址的有( )。 A.MOV AX,[DI+4] B.MOV AX,ES:[SI+8] C.MOV AX,[BP+4] D.MOV AX,[
BX
+4] 4.在下列指令中,源操作数的寻址方式是错误的有( )。 A.MOV AX,[DI+
BX
] B.MOV AX,[SI+DI] C.MOV AX,[BP+
BX
] D.MOV AX,[DX] 5.在下列指令中,属于段内转移指令的有( )。 A.
JMP
SHORT A B.
JMP
[
BX
] C.
JMP
D
WORD
PTR
[
BX
] D.
JMP
NEAR
PTR
[
BX
+SI] 6.在下列指令中,错误的指令有( )。 A.SUB 5,AL B.ADD AL,
BX
C.INC [
BX
] D.SHR AX,6 7.执行“CMP AX,8003H”指令后,当AX中的无符号数高于8003H时,下列指令中有效的转移指令有( )。 A.JNB L B.JA L C.JG L D.JNL L 8.可与串操作指令“CMPSW”指令配合使用的重复前缀有( )。 A.REP B.REPZ C.REPNZ D.REPE 9.在下列的输入/输出指令中,正确的指令有( )。 A.IN AX,80H B.OUT DX,AX C.IN AL,340 D.OUT DX,AL 10.在下列的指令中,错误的指令有( )。 A.PUSH AL B.MOV AL,
BX
C.PUSH 1000H D.CALL AX 11.可以用下列指令代替“LOOP L”指令的有( )。 A.DEC CX B.DEC CX JNZ L JNC L C.DEC CX D.DEC CX CMP CX,0 JE L JE L 三.填空题 1.在一条指令中,立即数只能作 操作数。 2.8086/8088 CPU形成的内存物理地址有 位。 3.指令“MOV AX,[
BX
+SI]”的源操作数在内存的 段。 4.指令“MOV
BX
,[BP+DI]”的源操作数在内存的 段。 5.指令“MOV AX,ES:[SI]”的源操作数在内存的 段。 6.入栈指令使用的是 段。 7.指令“ADD [
BX
+SI],AL”的目的操作数是 寻址方式。 8.指令“SUB
BX
,A[SI]”的源操作数是 寻址方式。 9.指令“
JMP
D
WORD
PTR
[
BX
]”属于 寻址方式。 10.可作为寄存器间接寻址的寄存器有 个。 11.堆栈是从 地址向 方向生长的。其操作遵循 的操作原则。 12.在进行弹栈操作时应该先将弹出的数据送 ,然后 。 13.在进行多精度加法运算时,一般使用 指令。 14.通用的数据传送指令不影响 。 15.“INC AL” 指令不影响标志位的 位。 16.若AL=11H,执行“NEG AL” 后,AL= 。 17.
JMP
指令的执行 PSW寄存器中的各位。 18.两个无符号数进行比较时,可以根据 标志位来判断大小。在编写程序时可使用 指令来实现。 19.若执行“DIV
BX
”,其被除数的高16位必须放在 ,低16位必须放在 。 20.DAA指令只对 寄存器中的内容进行调整。 21.若AL=84H,在执行CBW后,AL= 。 22.十进制数1234的压缩型BCD码为 。 23.执行 AND AL,0FH JNZ L 指令,是检测AL中的 位,当它为非零则转移。 24.若移位指令的移位位数大于1时,其移位位数必须放在 中。 25.如果AL=85H,CL=4,执行“SAR AL,CL”时,AL= ,CF= 。 26.在串操作指令中,SI指向 串,DI指向 串。 27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用 重复前缀。 28.转移指令“JNZ L ”的转移范围(十进制)是 。该指令的第二个字节为位移量,用 形式表示。 29.段内调用指令改变 中的内容。 30.段间调用指令改变 中的内容。 四、判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因) 1.ADD AL,
BX
2.MOV [
BX
],SI 3.SUB [
BX
],[SI] 4.CMP 5,AL 5.MOV CX,AX 6.LEA BL,A 7.SHR AL,6 8.MOV AL,[DI+SI] 9.MOV BL,200H 10.MOV AX,DATA 11.INC [
BX
] 12.CMP [
BX
],A ;A为变量 13.MOV AX,‘+’ 14.MOV AX, [BP+
BX
] 15.ADD AX,[CX] 16.OUT 400,AL 17.JNC P 18.MOV
BX
,,OFFSET A 19.LEA DI,A[SI] 20.CMP AX,5 五.改错题(按下列指令中的原意改正下列指令) 1.DEC [SI] 2.CMP AL,
BX
;8位无符号数比较 3.MOV [DX],AL 4.MOV AL,300H 5.MOV [
BX
],[DI] ;字节操作 6.ADD AL,[CX+SI] 7.ADD AL,
BX
;16位带符号数相加 8.PUSH AL 9.CMP [
BX
],5 ;字节比较 10.MOV DS,1234H 六.简答题 1.设
BX
=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么? (1)使用D的直接寻址 (2)使用
BX
寄存器的间接寻址 (3)使用
BX
寄存器的相对寻址 (4)基址变址寻址 (5)相对基址变址寻址 2.请指出下列各条指令的源操作数的寻址方式是什么? (1)MOV AX,BUF (2)CMP AL,5 (3)ADD [
BX
+5],AX (4)SUB AX,[
BX
+SI] (5)ADC AH,A[SI] (6)MOV
BX
,[SI] (7)AND CX,B[BP+SI] (8)
JMP
WORD
PTR
[
BX
] (9)
JMP
P (10)
JMP
FAR
PTR
P 3.设 DS=2000H,
BX
=0100H, SI=0002H, (20100H)=12H, (20101H)=34H, (20102H)= 56H, (20103H)= 78H, (21200H)= 2AH, (21201H)= 4CH, (21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器中的内容是多少? (1)MOV AX,1200H (2)MOV AX,
BX
(3)MOV AX,[1200H] (4)MOV AX,[
BX
] (5)MOV AX,[
BX
+1100H] (6)MOV AX,[
BX
+SI] (7)MOV AX,[
BX
+SI+1100H] 4.按下列各小题的要求写出相应的一条汇编语言指令。 (1)把
BX
寄存器和DX寄存器的内容相加,结果存入DX寄存器中 (2)以
BX
和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到AX。 (3)以SI和位移量20H作寄存器相对寻址,将该单元中的内容与CX寄存器中的内容相加,结果存入CX寄存器中 (4)清除AX寄存器的内容,同时清除CF标志位 (5)将字单元NUM与0B6H进行比较 5.按下列各小题的要求使用相应的几条指令完成其操作。 (1)将偏移量为200H的存储单元中的数与300H相加,结果存入AX寄存器中 (2)比较AX寄存器中与
BX
寄存器中的16位有符号数,当AX中的内容大于
BX
中的内容时转移到L。 (3)将BUF1和BUF2中的16位数据交换 (4)测试BUF字缓冲区中第15位,如果为1则转移到P (5)将BUFI和BUF2的字相加,结果送S缓冲区 6.设
BX
=8234H,请说明下列两条指令的区别,执行下列各指令后
BX
中的内容是什么? SHR
BX
,1 SAR
BX
,1 7.分别说明下列每组指令中的两条指令的区别。 (1) MOV
BX
,BUF LEA
BX
,BUF (2) OR BL,0FH AND BL,0FH (3)
JMP
SHORT L
JMP
L (4) MOV AX,
BX
MOV AX,[
BX
] (5) MOV AX,[
BX
+DI] MOV AX,[BP+DI] 8.说明下列各指令的源操作数和目的操作数的存储地方。 (1)MOV [2000H],AX (2)ADD AX,[
BX
+5] (3)LEA SI,BUF (4)DAA (5)MUL BL 9.指出下列无条件转移指令的转移目标地址是什么?存放在何处? (1)
JMP
BX
(2)
JMP
WORD
PTR
[
BX
] (3)
JMP
D
WORD
PTR
[
BX
] (4)
JMP
P (5)
JMP
SHORT R 10.说明MOVSB和CMPSB各能使用哪些重复前缀? 七.程序分析题 1.现有程序段如下: MOV AX,1234H MOV
BX
,60H ADD AX,
BX
请回答 :(1)该程序段完成的功能是什么? (2)程序段执行完后AX= 。 2.现有程序段如下: MOV AX,0603H MOV BL,8 AAD DIV BL 请回答 :(1)该程序段完成的功能是什么? (2)程序段执行完后AX= 。 3.设AX=0D023H,
BX
=9FD0H,试分析执行完如下程序段后程序转向何处? ADD AX,
BX
JNO L1 JNC L2 SUB AX,
BX
JNC L3 JNO L4
JMP
L5 4. 程序段如下: MOV AX,X MOV DX,X+2 ADD AX,Y ADC DX,Y+2 ADD AX,36 ADC DX,0 SUB AX,Z SBB DX,Z+2 MOV W,AX MOV W+2,DX 请回答 :(1)该程序段完成的功能是什么? (2)该程序的操作数是何类型? (3)结果存放在何处? 5.设A为字节变量,变量中的内容分别为64H、52H;B为字节变量,变量中的内容分别为12H、46H,现有程序段如下: MOV AL,A SUB AL,B DAS MOV C,AL MOV AL,A+1 SBB AL,B+1 DAS MOV C+1,AL 请回答 :(1)该程序段完成的功能是什么? (2)最后结果是什么? 6.现有程序段如下: MOV BL,AL MOV CL,4 SHR BL,CL MOV A,BL AND AL,0FH MOV B,AL 请回答 :(1)该程序段完成的功能是什么? (2)如果AL的初值为56H,则A= ,B= 。 7.现有程序段如下: MOV AL,8 MOV BL,7 MUL BL AAM ADD AX,3030H XCHG AH,AL MOV BUF,AX 请回答 :(1)该程序段完成的功能是什么? (2)BUF两个单元中的值分别为 。 8.现有程序段如下: MOV AX,M MOV DX,N SHR DX,1 RCR AX,1 请回答 :(1)该程序段完成的功能是什么? (2)若M=1234H,N=5678H,程序运行后DX= ,AX= 。 9.现有程序段如下: XOR AX,AX MOV AX,6342H MOV CX,0404H ROL AH,CL XCHG CH,CL ROR AL,CL 请回答 :(1)该程序段执行后AX= 。 (2)CF= 。 10.现有程序段如下: MOV AX,1 MOV
BX
,2 MOV CX,4 MOV DX,3 L: INC AX ADD
BX
,AX SHR DX,1 LOOPNZ L 请回答 :(1)该程序段的循环次数是多少? (2)该程序段执行完后AX= ,
BX
= ,CX= ,DX= 。 11.现有程序段如下: MOV CX,16 MOV BL,0 MOV DX,1 MOV AX,9AB8H L: TEST AX,DX JZ N INC BL N: SHL DX,1 LOOP L MOV M,BL 请回答 :(1)该程序段完成的功能是什么? (2)该程序段执行完后(M)= 。 12.现有程序段如下: CLD MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,100 REP MOVSB 请回答:该程序段完成的功能是什么? 13. 现有程序段如下: CLD LEA DI,BUF MOV AL,20H MOV CX,100 REPNZ SCASB 请回答 :(1)该程序段完成的功能是什么? (2)若ZF=1,表示BUF中 值为20H数据 (3)若BUF的首地址为0,ZF=0,执行完该程序段后DI= 。 14.现有程序段如下: MOV AL,0 MOV BL,1 MOV CX,10 L: ADD AL,BL INC BL LOOP L 请回答 :(1)该程序段完成的功能是什么? (2)该程序执行完后,AL= 。 15.现有程序段如下: MOV AX,M CMP AX,N JA L MOV AX,M+2 CMP AX,N+2 JAZ L MOV BYTE
PTR
FLG , 0
JMP
P L: MOV BYTE
PTR
FLG , 1 P: … 请回答 :(1)该程序段完成的功能是什么? (2)若M=1234H,N=5678H,则FLG= 。 16.现有程序段如下: MOV CX,100 LEA
BX
,BUF MOV DX,0 L1:MOV AL,[
BX
] CMP AL,10 JL L2 INC DX L2:INC
BX
LOOP L1 请回答 :(1)该程序段完成的功能是什么? (2)如果将JL改为JG,该程序段完成的功能又是什么? 17.设TAB中存放的数据为30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,现有程序段如下: LEA
BX
,TAB MOV AL,X ;X为数字0~9 XLAT 请回答 :(1)该程序段完成的功能是什么? (2)若X中的内容为4,则AL= 。 18.现有程序段如下: LEA SI,BUF1 LEA DI,BUF2 MOV CX,100 L: MOV AL,[SI+100] MOV [DI],AL INC DI DEC SI LOOP L 请回答:该程序段完成的功能是什么? 19.现有程序段如下: MOV AX,BUF CMP AX,0 JNS L MOV
BX
,BUF+2 NEG
BX
MOV BUF+2,
BX
NOT AX ADC AX,0 MOV BUF,AX L: … 请回答:该程序段完成的功能是什么? 20.现有程序段如下: MOV AL,X AND AL,0FH JZ L MOV BYTE
PTR
FLG,1
JMP
M L: MOV BYTE
PTR
FLG,0 M: … 请回答:该程序段完成的功能是什么? 八.程序设计题 1.使用串操作指令,将BUF缓冲区中的100个字节清0。 2.比较5个字节的字符串A和B,若两个串相等则字节标志单元FLG置0;否则清1。 3.设BUF缓冲区中有100个字数据。编写程序段统计100个字数据中数据为0的个数,并将统计的结果存放在DL寄存器中。 4.计算Z=(X+5)*Y+30,(X,Y为无符号字节数据)。 5.将DX:AX:
BX
中的48位数乘以2。 6.将有100个字符的缓冲区BUF中的$符号用空格(20H)代替。 7.将有符号的字数据A和B中的大者存入C中。 8.测字单元A中的第四位是否为0,是则FLG置1,否则清0。 9.将DX:AX中的32位数据逻辑左移2位。 10.将100个元素的字数组A中的每个元素减1。
masm5.0 32位下载
简单易用,高中生编程必备啊,上课不听讲也没挂念
2017221302006-周玉川-第6次作业 1
测试点 9.1(1) 程序如下,若使程序中的
jmp
指令执行后,cs:ip 指向第一条指令,在 data 段中应该定义那些数据定义数据或者 dw 0(2) 程
汇编语言
21,497
社区成员
41,618
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章