(1)下面的程序实现一次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:mov ax,[bx]
(mov cs:[bx],ax)
add bx,2
l...


- [yunfeiyan] 哦,这里错了。又大意了,对循环次数是64的。应该为40h的。谢谢! 04/07 22:23
- [游客] 循环cx赋值不对.0~3f一共是64个字节. 在汇编学习过程中,一定要注意,从0开始的计算细节. 04/06 16:32
- [yunfeiyan] 谢谢! 03/26 19:57
- [游客] ...少写一行代码,自己好好检查下 03/26 09:39
- [yunfeiyan] 不好意思,大意了。不应该的错误。 mov ax,1 mov ds,ax mov ax,[00 02/25 16:26
- [acool] 第一题错误,注意段地址ds是1,即寻址的物理地址是00010H。举例第一个空是2662H。 02/24 10:54
- [yunfeiyan] 改正如此 mov ax,62627 ax=F43AH mov ah,31H 02/21 17:10
- [yunfeiyan] 确实错了,顺序颠倒了。谢谢指点 02/21 17:07
- [bigbigwolf] 完成正确。 02/11 10:17
- [bigbigwolf] mov ax,62627 ax=3A4FH -------- 这个错了,博主再熟悉一下十 02/11 10:16
[2010-04-15 16:24] 检测点6.1
阅读全文 |
评论次数(0) |
浏览次数(537) |
所属类型(汇编作业)
[2010-04-15 16:08] 实验4 (3)
(3)下面的程序的功能是将“mov ax,4c00h"之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。
assume cs:code
code segment
mov ax,(cs)
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,(23)
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
这是我做的,结果正确。可...
assume cs:code
code segment
mov ax,(cs)
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,(23)
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
这是我做的,结果正确。可...
阅读全文 |
评论次数(0) |
浏览次数(463) |
所属类型(汇编作业)
[2010-04-05 22:30] 实验4
1(2)
编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h"和”int 21h".
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov cx,40h
s: mov [bx],bl
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end...
编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h"和”int 21h".
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov cx,40h
s: mov [bx],bl
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end...
阅读全文 |
评论次数(2) |
浏览次数(533) |
所属类型(汇编作业)
[2010-03-24 17:03] 实验三
assume cs:codesg
codesg segment
mov ax,2000h ax=2000h bx=0 cx=13h ds=0b55h es=0b55h ss=0b65h sp=0 cs=0b65h ip=0003h ss:sp=00b8h
mov ss,ax
mov sp,0 ax=2000h bx=0 cx=13h ds=0b55h es=0b55h ss=0b65h sp=0 cs=0b65h ip=0008h ss:sp=569h
add sp,10 ax=2000h bx=0 cx=1...
codesg segment
mov ax,2000h ax=2000h bx=0 cx=13h ds=0b55h es=0b55h ss=0b65h sp=0 cs=0b65h ip=0003h ss:sp=00b8h
mov ss,ax
mov sp,0 ax=2000h bx=0 cx=13h ds=0b55h es=0b55h ss=0b65h sp=0 cs=0b65h ip=0008h ss:sp=569h
add sp,10 ax=2000h bx=0 cx=1...
阅读全文 |
评论次数(2) |
浏览次数(592) |
所属类型(汇编作业)
[2010-02-28 11:01] 实验2
1.mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax=5beah
add ax,[2] ;ax=5ccah
mov bx,[4] ;bx=30f0h
add bx,[6] ;bx=6024h
push ax ;sp=00feh;修改的内存单元的地址是
2200:00fe 内 容为5ccah
push bx ;sp=00fch;修改的内存单元的地址是
...
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax=5beah
add ax,[2] ;ax=5ccah
mov bx,[4] ;bx=30f0h
add bx,[6] ;bx=6024h
push ax ;sp=00feh;修改的内存单元的地址是
2200:00fe 内 容为5ccah
push bx ;sp=00fch;修改的内存单元的地址是
...
阅读全文 |
评论次数(0) |
浏览次数(475) |
所属类型(汇编作业)
[2010-02-25 16:53] 检测点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,a...
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,a...
阅读全文 |
评论次数(0) |
浏览次数(471) |
所属类型(汇编作业)
[2010-02-22 22:33] 检测点3.1
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 2E 3C 3B-AB BA 00 00 26 06 6688
下面的程序执行前,ax=0,bx=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1
mov ds,ax
mov ax,[0000] ax=8070h
mov bx,[0001] bx=f080h
mov ax,bx ax=f080h
mov ax,[0000] a...
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 2E 3C 3B-AB BA 00 00 26 06 6688
下面的程序执行前,ax=0,bx=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1
mov ds,ax
mov ax,[0000] ax=8070h
mov bx,[0001] bx=f080h
mov ax,bx ax=f080h
mov ax,[0000] a...
阅读全文 |
评论次数(2) |
浏览次数(739) |
所属类型(汇编作业)
[2010-02-09 16:32] 检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx 在指令进入指令缓冲器后,第一次修改IP
sub ax,ax 在指令进入指令缓冲器后,第二次修改IP
jmp ax 在指令进入指令缓冲器后,第三次修改IP,在指令执行之后,第四次修改IP,最后IP中的值为0...
mov ax,bx 在指令进入指令缓冲器后,第一次修改IP
sub ax,ax 在指令进入指令缓冲器后,第二次修改IP
jmp ax 在指令进入指令缓冲器后,第三次修改IP,在指令执行之后,第四次修改IP,最后IP中的值为0...
阅读全文 |
评论次数(1) |
浏览次数(635) |
所属类型(汇编作业)
[2010-02-08 21:22] 检测点2.2
1.给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH.
2.有一数据存放在20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H。...
2.有一数据存放在20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H。...
阅读全文 |
评论次数(2) |
浏览次数(492) |
所属类型(汇编作业)
[2010-02-08 20:57] 检测点2.1
1. 写出每条汇编指令执行后相关寄存器中的值。
mov ax,62627 ax=3A4FH
mov ah,31H ax=314FH
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 al,bh ax=0482H
mov ah,bl ax=6...
mov ax,62627 ax=3A4FH
mov ah,31H ax=314FH
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 al,bh ax=0482H
mov ah,bl ax=6...
阅读全文 |
评论次数(3) |
浏览次数(682) |
所属类型(汇编作业)