汇编网首页登录博客注册
easyedone的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
好友圈
文章收藏
友情链接

[2011-05-07 12:55] 实验十

点击查看原图
show_str:
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:push bp
mov al,0a0h
mul dh
mov bx,0
dec dl
add dl,dl
mov bl,dl
add ax,bx
mov bp,ax
...
阅读全文 | 评论次数(0) | 浏览次数(352) | 所属类型(汇编作业)

[2011-05-06 14:04] 检测点10.1-10.5

1.由retf指令:高位为CS,低位为IP,所以先进CS,后进IP
即第一空为1000h,第二空为0
2.ax中存放的即为call所保存的下一条指令偏移地址:6
3.ax中存放的是CS与2IP之和,由于是16进制计算:1000+8+8=1010
4.ax=6+5=000B
5.(1).此程序执行call命令后,转移到正好是它的下一条指令,所以ax=3
(2).此程序运行结束后,ax所指的位置为call保存的下一条偏移地址,所以ax=ax(s)-nop=1,bx则为cs位置,所以bx=bx(cs)-cs=0...
阅读全文 | 评论次数(0) | 浏览次数(326) | 所属类型(汇编作业)

[2011-05-03 22:54] 实验9

点击查看原图
assume cs:a
data segment
db 3 dup ('welcome to masm!')
data ends
a segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov di,0
mov si,0
mov dx,0
mov cx,16
mov si,2h
t1:
mov ax,[bx]
mov es:720h[di],ax
mov es:721h[di],si
add di,2                                  ...
阅读全文 | 评论次数(0) | 浏览次数(332) | 所属类型(汇编作业)

[2011-05-03 11:27] 监测点9.1-9.3及实验8(分析)

监测点9.1
1.只需令IP=0即可,注意到[bx+1]则设置偏移地址为1的字单元为0即可。
2.高位存cs,低位存ip,所以第一空为bx,第二空为cs
检测点9.2
将相应地址的内容放入cx,若cx=0则跳入ok段,注意字节与字型寄存器
mov cx,0
mov cl,[bx]     //这里填ch也可以
jcxz ok
inc bx
检测点9.3
由于loop先自减cx特性,故填入inc cx
实验8
可以运行,由于s2到s1的转移位移等于s到mov ax,4c00h处得转移位移...
阅读全文 | 评论次数(0) | 浏览次数(344) | 所属类型(汇编作业)

[2011-04-29 23:21] 实验7(欢迎斧正)

assume cs:xp
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,275900...
阅读全文 | 评论次数(0) | 浏览次数(364) | 所属类型(汇编作业)

[2011-04-26 22:30] 问题7.9代码(分析)

assume cs:code
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
data segment
db '1. display      '
db '2. brows        '
db '3. replace      '
db '4. modify       '
data ends
code segment
start:mov ax,data           //ds存入data段地址
mov ds,ax             
mov ax,stack                    //ss存入stack段地址
mov s...
阅读全文 | 评论次数(0) | 浏览次数(336) | 所属类型(汇编作业)

[2011-04-24 10:24] 检测点6.1(分析)

1.mov cs:[bx],ax
即将ds:[bx]中内容放入cs:[bx]中,由于内存单元间不能直接赋值,则通过ax做中介完成传送。
2.(1)cs (2)24h
即设置ss:sp指向栈空间,因8*2+10*2=36=24h,故设置头指针指向栈底。
(3)pop cs:[bx]
通过栈将数据传输,数据放入cs:[bx]中。...
阅读全文 | 评论次数(0) | 浏览次数(351) | 所属类型(汇编作业)

[2011-04-19 13:48] 实验4(分析)

1.assume cs:xp
xp segment
mov ax,200h          1
mov ds,ax            2
mov bx,0             3
mov cx,3fh           4
s: mov [bx],bx       5
inc bx               6
loop s               7
mov ax,4c00h         8
int 21               9
xp ends
end
2.第一空为cs,即程序的入口处
第二空即为程序(不包括mov ax,4c00和i...
阅读全文 | 评论次数(0) | 浏览次数(371) | 所属类型(汇编作业)

[2011-04-14 21:01] 检测3.2(分析)

1.将10000H~1000FH的内容放入栈(20000H~2000FH)中:
令ds=1000H
同时令ss=2000H,考虑到入栈时地址先-2,所以sp=10。
所以三行代码为:
mov bx,2000
mov ss,bx
mov sp,10
2.将栈(20000H~2000FH)内容退栈,同时将栈顶元素放入10000H~1000FH中:
令ds=1000H
同时令ss=2000H,考虑到出栈时地址后+2,所以sp=0。
所以三行代码为:
mov bx,2000
mov ss,bx
mox sp,0...
阅读全文 | 评论次数(0) | 浏览次数(367) | 所属类型(汇编作业)

[2011-04-14 18:50] 检测点3.1(分析)

1.ds=0001H,sp=0;
AX=2662H,
BX=E626H,
AX=E626H,
AX=2662H,
BX=D6E6H,
AX=FD48H,
AX=2C14H,
AX=0000H,
AX=00E6H,
BX=0000H,
BX=0026H,
AX=000CH....
阅读全文 | 评论次数(0) | 浏览次数(334) | 所属类型(汇编作业)
『 查看更多文章 』