- [somniumchase] 我一运行就说没有数字 01/01 11:44
- [游客] 为什么啊 08/07 15:36
- [游客] 如果想快一些 就改下面这里 dx值改成1H delay: push ax 04/19 02:53
- [lshhjx] 注释在程序中很重要,楼主不知道吗? 12/08 13:40
- [biaggi] 看不明白,在下還須學習 11/06 08:11
- [游客] 我运行的时候直接显示Unkown filename跳出了- -请问怎么改 06/16 21:44
- [游客] 勿庸置疑,注释是好习惯。与人方便自己方便。 04/12 10:33
- [游客] 老实说,看着真心累呀! 04/07 18:37
- [游客] 很无语,初学者就多看书,不要动不动要别人注释,基础打好了,再自己注释,这样比别人帮你注释好得多 12/17 19:43
- [dgkepu] 初学者:不懂,希望有多点注释带着学习学习! 12/07 20:52
- [游客] windows 7是一个64Bit操作系统,它不兼容DOS,无法识别16Bit系统。重装系统wind 02/28 21:05
- [游客] windows 7是一个64Bit操作系统,它不兼容DOS,无法识别16Bit系统。重装系统wind 02/28 21:05
- [466987333] 你好,高手,我想请教一个问题。 我用的是win7操作系统,32位的,里面没有找masm目录,是不是 12/12 17:30
- [lanfioncc] 那个太高级了。。。我还有点看不懂。。不过谢谢!!! 11/27 11:23
- [yc2010] 实验16中的 table: dw sub1,sub2,sub3,sub4 可不可以改成呢? 09/11 09:08
- [yc2010] mov bl,ah mov bh,0 add bx,bx ----------->这里为 09/07 21:03
- [yc2010] 为什么要add bx,bx呢? 09/07 20:55
- [yc2010] 那是不是像table[bx],ds[bx]....等(内存单元)都是表示一个字节呢? 09/06 21:10
- [masmaster] 杨季文的《80X86汇编语言程序设计教程》 09/01 12:52
- [游客] to masmaster shl左移4位,那al传进来的4,5,6位背景色不就没了. 为什 09/01 11:00
[2010-08-31 10:40] 基础,真的很重要呀
把寻址方式和指令系统的习题都做完啦, 虽然题目都非常简单, 但是, 有太多的细节以前自己没有注意过! 通过这次做题练习,感觉到基础知识, 真的太重要啦! 好高骛远急于求成都不能学好汇编,只有静下心来踏踏实实一步一个脚印的才有收获呀!!!自我勉励一下吧! !...
阅读全文 |
评论次数(3) |
浏览次数(358) |
所属类型(汇编习题集)
[2010-08-31 10:09] 习题2.44
问:请比较如下指令片段
答:
(1)LDS SI,[BX]
这是错误指令,源操作数必须是32位地址指针。
(2)MOV SI,[BX]
MOV DS,[BX+2]
这条指令指向一个逻辑地址DS:SI。
(3)MOV DS,[BX+2]
MOV BX,[BX]
这条指令指向一个逻辑地址DS:BX...
答:
(1)LDS SI,[BX]
这是错误指令,源操作数必须是32位地址指针。
(2)MOV SI,[BX]
MOV DS,[BX+2]
这条指令指向一个逻辑地址DS:SI。
(3)MOV DS,[BX+2]
MOV BX,[BX]
这条指令指向一个逻辑地址DS:BX...
阅读全文 |
评论次数(0) |
浏览次数(262) |
所属类型(汇编习题集)
[2010-08-31 09:59] 习题2.43
问:下列程序片段完成什么功能? 可否使用更简单的方法实现同样的功能?
XCHG AX,[SI]
XCHG AX,[DI]
XCHG AX,[SI]
答:上述片段完成两个内存单元内容交换。可以用push/pop指令完成同样的功能:
push [si]
push [di]
pop [si]
pop [di]...
XCHG AX,[SI]
XCHG AX,[DI]
XCHG AX,[SI]
答:上述片段完成两个内存单元内容交换。可以用push/pop指令完成同样的功能:
push [si]
push [di]
pop [si]
pop [di]...
阅读全文 |
评论次数(0) |
浏览次数(209) |
所属类型(汇编习题集)
[2010-08-31 09:48] 习题2.42
问:请指出如下指令哪些是错误的?并说明原因。
答:
(1) MOV [SP],AX ;错。sp不能作为数据段指针寄存器使用。
(2) PUSH CS ;对。
(3) JMP BX+100H ; 对。
(4) JMP CX ;对。
(5) ADD AL,[SI+DI] ;错。源和目的指针不许同时表示一个内存单元。
(6) SUB [BP+DI-1000],AL;错。如果用BP作为数据段指针寄存器使用,不许用段超越。
(7) ADD BH,[BL-3] ;错。bl不能作为指针寄存器使用。...
答:
(1) MOV [SP],AX ;错。sp不能作为数据段指针寄存器使用。
(2) PUSH CS ;对。
(3) JMP BX+100H ; 对。
(4) JMP CX ;对。
(5) ADD AL,[SI+DI] ;错。源和目的指针不许同时表示一个内存单元。
(6) SUB [BP+DI-1000],AL;错。如果用BP作为数据段指针寄存器使用,不许用段超越。
(7) ADD BH,[BL-3] ;错。bl不能作为指针寄存器使用。...
阅读全文 |
评论次数(0) |
浏览次数(247) |
所属类型(汇编习题集)
[2010-08-31 09:30] 习题2.41
问:请指出下列指令的错误所在
答:
(1) MOV CX,DL ;源操作数与目的操作数尺寸不符
(2) POP CS ;CS地址不确定,程序会出错
(3) SUB [SI],[DI] ;源与目的操作数不允许同时为内存单元
(4) OR BL,DX ;源与目的操作数尺寸不符
(5) MUL 16 ;立即数不能作为目的操作数
(6) DIV 256 ;同上
(7) MOV ES,1234H ;不允许直接给段寄存器赋值
(8) SUB DL,CF ;CF默认使用在ADC,SBB等带进位指令中
(9) MOV ...
答:
(1) MOV CX,DL ;源操作数与目的操作数尺寸不符
(2) POP CS ;CS地址不确定,程序会出错
(3) SUB [SI],[DI] ;源与目的操作数不允许同时为内存单元
(4) OR BL,DX ;源与目的操作数尺寸不符
(5) MUL 16 ;立即数不能作为目的操作数
(6) DIV 256 ;同上
(7) MOV ES,1234H ;不允许直接给段寄存器赋值
(8) SUB DL,CF ;CF默认使用在ADC,SBB等带进位指令中
(9) MOV ...
阅读全文 |
评论次数(0) |
浏览次数(290) |
所属类型(汇编习题集)
[2010-08-30 17:00] 习题2.40
问:相对转移和绝对转移的区别是什么?相对转移有何优点?
答:相对转移是利用目标地址和当前转移指令本身地址之差记录转移目标地址。绝对转移是在指令中包含目标地址的转移方式。 相对转移有利于程序的浮动。...
答:相对转移是利用目标地址和当前转移指令本身地址之差记录转移目标地址。绝对转移是在指令中包含目标地址的转移方式。 相对转移有利于程序的浮动。...
阅读全文 |
评论次数(0) |
浏览次数(266) |
所属类型(汇编习题集)
[2010-08-30 16:52] 习题2.39
问:8086的条件转移指令范围是多大? 如何实现超出范围的条件转移?
答:8086的条件转移都是段内转移,通过在IP上加一个字节的地址差的方法实现转移。 所以它的转移范围-127~+129之间。如果条件转移的目标超出范围,则需要无条件转移指令jmp...
答:8086的条件转移都是段内转移,通过在IP上加一个字节的地址差的方法实现转移。 所以它的转移范围-127~+129之间。如果条件转移的目标超出范围,则需要无条件转移指令jmp...
阅读全文 |
评论次数(0) |
浏览次数(279) |
所属类型(汇编习题集)
[2010-08-30 16:47] 习题2.38
问:段间转移和段内转移的本质区别是什么?8086有哪些指令可实现段间转移?
答:
①段间转移和段内转移的本质区别就是段间转移CS发生变化而段内转移CS保持不变。
②jmp,call,int n,均可实现段间转移...
答:
①段间转移和段内转移的本质区别就是段间转移CS发生变化而段内转移CS保持不变。
②jmp,call,int n,均可实现段间转移...
阅读全文 |
评论次数(0) |
浏览次数(265) |
所属类型(汇编习题集)
[2010-08-30 16:36] 习题2.37
问:请不用条件转移指令JG、JGE、JL、JLE等指令实现如下程序片段功能
CMP AL,BL
JGE OK
XCHG AL,BL
OK:
答:
CMP AL,BL
JNC OK
XCHG AL,BL
OK:
PS:如果不考虑用J系列条件转移指令,确实太男啦!...
CMP AL,BL
JGE OK
XCHG AL,BL
OK:
答:
CMP AL,BL
JNC OK
XCHG AL,BL
OK:
PS:如果不考虑用J系列条件转移指令,确实太男啦!...
阅读全文 |
评论次数(0) |
浏览次数(268) |
所属类型(汇编习题集)
[2010-08-30 12:51] 习题2.36
问:8086中,那些指令把寄存器CX作为计数器使用?哪些指令把寄存器BX作为基址指针寄存器使用?
答:循环指令loop默认把寄存器CX作为计数器使用。数据传送和地址传送指令可以把寄存器BX作为基指针寄存器使用。...
答:循环指令loop默认把寄存器CX作为计数器使用。数据传送和地址传送指令可以把寄存器BX作为基指针寄存器使用。...
阅读全文 |
评论次数(0) |
浏览次数(280) |
所属类型(汇编习题集)