assume cs:codesg
codesg segment
mov ax,2000H
mov ss,ax
mov sp,0
add sp,40
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00H
int 21h
codesg ends
end
执行过程中相关寄存器的内容和栈顶内容:
<0> AX=0000H CX=0016H SP=0000H DS=1428H SS=1438H CS=1438H IP...


- [wang28103] 是的,应该是000c 谢谢提醒,希望你继续指教,谢谢! 02/24 21:43
- [tomato] 博主第一题的最后一个空是不是错了? 02/23 16:10
- [tomato] 对了! 02/23 16:08
- [wang28103] 错了,是在保护模式下,sp不能小于6 02/18 16:41
- [wang28103] 我把sp改成了40,就是28H,因为在实模式下,sp不能小于6,否则会报错说无效指令的. 02/18 16:32
- [wang28103] 这个我也不懂,我提问后有人回答了,大家可以参考一下! http://www.asmedu.net/ 02/18 16:29
- [wang28103] 是的,谢谢指教! 02/18 16:27
- [wang28103] 明白了,谢谢指教! 02/18 16:26
- [mouse] bh=82H al=D8H ax=04D8H mov al,bh 02/14 16:01
- [mouse] 第二题没有问题,第一题有点错误。 mov al,bh AX=82D8H 02/14 15:59
[2008-02-12 22:29] 实验3
阅读全文 |
评论次数(3) |
浏览次数(696) |
所属类型(汇编作业)
[2008-02-11 23:24] 实验2
(1)
使用Debug,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax=5BEA
add ax,[2] ;ax=5CCA
mov bx,[4] ;bx=30F0
add bx,[6] ;bx=6024
push ax ;sp=00FE
;修改的内存单元的地址是220FF,220FE 内容为5CCAH ...
使用Debug,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax=5BEA
add ax,[2] ;ax=5CCA
mov bx,[4] ;bx=30F0
add bx,[6] ;bx=6024
push ax ;sp=00FE
;修改的内存单元的地址是220FF,220FE 内容为5CCAH ...
阅读全文 |
评论次数(2) |
浏览次数(682) |
所属类型(汇编作业)
[2008-02-11 21:50] 第三章检测点3.2
(1)
补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中.
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2)
补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中。
mov ax,2000H
mov ds...
补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中.
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2)
补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中。
mov ax,2000H
mov ds...
阅读全文 |
评论次数(1) |
浏览次数(702) |
所属类型(汇编作业)
[2008-02-10 21:48] 第三章检测点3.1
(1)
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1
mov ds,ax
mov ax,[0000] AX= 2662H
mov bx,[0001] BX= E626H
mov ax,bx AX= E626H
mov ax,[0000] AX= 2662H
mov bx,[0002] BX= D6E6H
add ax,bx AX= FD48H ...
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1
mov ds,ax
mov ax,[0000] AX= 2662H
mov bx,[0001] BX= E626H
mov ax,bx AX= E626H
mov ax,[0000] AX= 2662H
mov bx,[0002] BX= D6E6H
add ax,bx AX= FD48H ...
阅读全文 |
评论次数(2) |
浏览次数(666) |
所属类型(汇编作业)
[2008-02-10 09:32] 第二章检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
答:第一次修改:执行到mov ax,bx时,取指完成后ip自动加2
第二次修改:执行到sub ax,ax时,取指完成后ip自动加2
第三次修改:执行到jmp ax时,取指完成后ip自动加2
第四次修改:执行到完jmp ax,ip修改成ax的内容.
总共修改了四次,最后ip的值就是ax最后的内容....
mov ax,bx
sub ax,ax
jmp ax
答:第一次修改:执行到mov ax,bx时,取指完成后ip自动加2
第二次修改:执行到sub ax,ax时,取指完成后ip自动加2
第三次修改:执行到jmp ax时,取指完成后ip自动加2
第四次修改:执行到完jmp ax,ip修改成ax的内容.
总共修改了四次,最后ip的值就是ax最后的内容....
阅读全文 |
评论次数(2) |
浏览次数(798) |
所属类型(汇编作业)
[2008-02-10 09:07] 第二章检测点2.2
(1)
给定段地址为0001H,仅通过变化偏移地址寻址,
CPU的寻址范围为00010到1000f
(2)
有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H...
给定段地址为0001H,仅通过变化偏移地址寻址,
CPU的寻址范围为00010到1000f
(2)
有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H...
阅读全文 |
评论次数(1) |
浏览次数(702) |
所属类型(汇编作业)
[2008-02-10 09:00] 第二章检测点2.1
(1)
mov ax,62627 AX:F4A3H
mov ah,31H AX:31A3H
mov al,23H AX:3123H
add ax,ax AX:6246H
mov bx,826CH BX=826CH
mov cx,ax CX=6246H
mov ax,bx AX=826CH
add ax,bx AX=04D8H ...
mov ax,62627 AX:F4A3H
mov ah,31H AX:31A3H
mov al,23H AX:3123H
add ax,ax AX:6246H
mov bx,826CH BX=826CH
mov cx,ax CX=6246H
mov ax,bx AX=826CH
add ax,bx AX=04D8H ...
阅读全文 |
评论次数(3) |
浏览次数(819) |
所属类型(汇编作业)
[2008-02-09 22:03] CPU保护模式
第一:实模式下程序的运行回顾.
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)...
程序运行的实质是什么?其实很简单,就是指令的执行,显然CPU
是指令得以执行的硬件保障,那么CPU如何知道指令在什么地方呢?
对了,80x86系列是使用CS寄存器配合IP寄存器来通知CPU指令在内存
中的位置.
程序指令在执行过程中一般还需要有各种数据,80x86系列有DS、
ES、FS、GS、SS等用于指示不同用途的数据段在内存中的位置。
程序可能需要调用系统的服务子程序,80x86系列使用中断机制
来实现系统服务。
总的来说,这些就是实模式下一个程序运行所需的主要内容
(其它如跳转、返回、端口操作等相对来说比较次要。)...
阅读全文 |
评论次数(1) |
浏览次数(575) |
所属类型(默认类型)