(1) mov ax,2000H
mov ss,ax
mov sp,10H
将要存进去的20000H到2000FH这段内存当栈来使用。
(2) mov ax,1000H
mov ss,ax
mov sp,0H
这里是POP出栈,即将栈顶指针指向[0]处。...


[2011-07-11 18:15] 检测题3.2
阅读全文 |
评论次数(0) |
浏览次数(401) |
所属类型(汇编作业)
[2011-07-11 17:49] 检测题 3.1 第二题
各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0
写出CPU执行指令的序列(用汇编指令写出)
写出CPU执行每条指令后,CS,IP和相关寄存器中的数值.
再次体会:数据和程序的区别么?如何确定内存中的信息哪些是数据?哪些是程序?
程序的序列:
mov ax,6622H CS=2000H IP=3 AX=6622H BX=0 DS=1000H
jmp 0ff0:0100 CS=1000H IP=0 AX=6622H BX=0 DS=1000H
mov ax,2000H CS=1000H IP=3 AX=2000H BX=0 DS=10...
写出CPU执行指令的序列(用汇编指令写出)
写出CPU执行每条指令后,CS,IP和相关寄存器中的数值.
再次体会:数据和程序的区别么?如何确定内存中的信息哪些是数据?哪些是程序?
程序的序列:
mov ax,6622H CS=2000H IP=3 AX=6622H BX=0 DS=1000H
jmp 0ff0:0100 CS=1000H IP=0 AX=6622H BX=0 DS=1000H
mov ax,2000H CS=1000H IP=3 AX=2000H BX=0 DS=10...
阅读全文 |
评论次数(0) |
浏览次数(495) |
所属类型(汇编作业)
[2011-07-10 14:38] 检测点3.1 第一题
在DEBUG中用"d 0:0 1f"查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC E2 3C 3B-AB BA 00 00 26 06 66 88
下面的程序热行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值.
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662
mov bx,[0001] BX=E626
mov ax,bx AX=E626
mov ax,[0000] ...
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC E2 3C 3B-AB BA 00 00 26 06 66 88
下面的程序热行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值.
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662
mov bx,[0001] BX=E626
mov ax,bx AX=E626
mov ax,[0000] ...
阅读全文 |
评论次数(0) |
浏览次数(379) |
所属类型(汇编作业)
[2011-07-05 19:04] 检测点2.3
下面3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
解:当CPU执行mov ax,bx时,IP做第一次修改,[IP]+3
当CPU执行sub ax,ax时,IP做第二次修改,[IP]+2
当CPU执行jmp ax时~做第三次修改,[IP+2]
执行jmp ax后给于IP赋值为ax的值,即为0,[IP]=[AX]...
mov ax,bx
sub ax,ax
jmp ax
解:当CPU执行mov ax,bx时,IP做第一次修改,[IP]+3
当CPU执行sub ax,ax时,IP做第二次修改,[IP]+2
当CPU执行jmp ax时~做第三次修改,[IP+2]
执行jmp ax后给于IP赋值为ax的值,即为0,[IP]=[AX]...
阅读全文 |
评论次数(0) |
浏览次数(352) |
所属类型(汇编作业)
[2011-07-03 22:58] 检测题有一道题是这样的:
1000:0 mov ax,8
1000:3 jmp ax
1000:5 mov ax,0
1000:8 mov bx,ax
1000:a jmp bx
CPU从1000:0处开始执行指令当执行完1000:a处的指令后CPU几次修改IP?
1、 4
2、 5
3、 6
4、 7
解析:读入mov ax,8时,ip修改一次,值为3;执行完毕以后,CPU加载下一条指令,ip修改第二次,值为5;执行完jmp ax后,ip第三次修改,值为8;(...
1000:3 jmp ax
1000:5 mov ax,0
1000:8 mov bx,ax
1000:a jmp bx
CPU从1000:0处开始执行指令当执行完1000:a处的指令后CPU几次修改IP?
1、 4
2、 5
3、 6
4、 7
解析:读入mov ax,8时,ip修改一次,值为3;执行完毕以后,CPU加载下一条指令,ip修改第二次,值为5;执行完jmp ax后,ip第三次修改,值为8;(...
阅读全文 |
评论次数(0) |
浏览次数(402) |
所属类型(学习心得)
[2011-07-03 22:06] 检测点2.2
1> 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为
(0010H)到(1000FH).
照偏移量的最小值(0000H)和最大值(FFFFH)来计算得出.
2> 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移
地址寻到此单元.SA应满足的条件是:最小为(1001H),最大为
(2000H).
照偏移值的最大值(FFFFH)计算,段地址只有1001H段地址才能寻
到
照偏移值的最小值(0000H)计算,段地址只有为(2000H)段地址才
能寻到...
(0010H)到(1000FH).
照偏移量的最小值(0000H)和最大值(FFFFH)来计算得出.
2> 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移
地址寻到此单元.SA应满足的条件是:最小为(1001H),最大为
(2000H).
照偏移值的最大值(FFFFH)计算,段地址只有1001H段地址才能寻
到
照偏移值的最小值(0000H)计算,段地址只有为(2000H)段地址才
能寻到...
阅读全文 |
评论次数(0) |
浏览次数(393) |
所属类型(汇编作业)
[2011-07-03 21:38] 检测点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,ba AX= 04D8H
mov al...
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,ba AX= 04D8H
mov al...
阅读全文 |
评论次数(0) |
浏览次数(354) |
所属类型(汇编作业)
[2011-07-03 20:56] 检测点1.1
1> 1个CPU有寻址能力为8KB,那么它的地址总线的宽度为(13).
2^N=8*1024=(2^3)*(2^10)=(2^13)=8192
2> 1KB的存储器有(1024)个存储单元.存储器的编号从(0)到(1023)
每个存储单元从0开始顺序编号的.
3> 1KB的存储器可以存储(8192)个BIT ,(1024)个BYTE.
1KB=8*1024=8192BIT .
4> 1GB是1073741824BYTE ,1MB是1048576BYTE ,1KB是1024BYTE
1KB=1024B ,1MB=1024*1024=10485...
2^N=8*1024=(2^3)*(2^10)=(2^13)=8192
2> 1KB的存储器有(1024)个存储单元.存储器的编号从(0)到(1023)
每个存储单元从0开始顺序编号的.
3> 1KB的存储器可以存储(8192)个BIT ,(1024)个BYTE.
1KB=8*1024=8192BIT .
4> 1GB是1073741824BYTE ,1MB是1048576BYTE ,1KB是1024BYTE
1KB=1024B ,1MB=1024*1024=10485...
阅读全文 |
评论次数(0) |
浏览次数(425) |
所属类型(汇编作业)