(1)
assume cs:code
stack segment
dw 8 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0eh]
inc ax
inc ax
inc ax
mov ax,4c00h
int 21h
code ends
end s...


- [mess] 博主的分析很正确。 我的分析:程序执行到call时,先压栈push当前的IP值,再跳转到ss: 12/15 16:52
- [crazyman] 嗯。主要是对给出知识材料的一个理解和利用。但是,还是要编程实现的,这个颜色值可不是锻炼的重点。 12/08 15:22
- [游客] 学校景色不错哟 12/05 12:19
- [游客] 博主的速度很快啊,加油吧~ http://www.asmedu.net/blog/user/p 12/05 10:31
- [mess] 从下面的结果看没有问题,博主继续吧~ 11/28 13:15
- [deepblue] 分析的有理 11/28 09:14
- [deepblue] 呵呵 这个思路挺有意思:) 11/28 09:09
- [deepblue] 还有两个小踢呢? 11/28 09:05
- [deepblue] dw offset start 是 0吗 你看看 11/27 23:52
- [deepblue] 就是它 11/27 23:49
[2008-12-15 15:25] 检测点10.5
阅读全文 |
评论次数(1) |
浏览次数(899) |
所属类型(汇编作业)
[2008-12-05 20:01] 实验9 根据材料编程
这个实验,个人认为主要是弄懂了数学问题就差不多了应该。
我的分析:分别显示绿色、绿底红色、白底蓝色,则分别对应的00000010B(02h)、00100100B(24h)、01110001B(71h)。
补上我写的代码:
assume cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bp,7c0h
...
我的分析:分别显示绿色、绿底红色、白底蓝色,则分别对应的00000010B(02h)、00100100B(24h)、01110001B(71h)。
补上我写的代码:
assume cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bp,7c0h
...
阅读全文 |
评论次数(1) |
浏览次数(830) |
所属类型(汇编作业)
[2008-11-27 23:14] 实验7
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg 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,...
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg 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,...
阅读全文 |
评论次数(1) |
浏览次数(887) |
所属类型(汇编作业)
[2008-11-27 20:40] 实验6 完成问题7.9的程序
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:
mov ax,stacksg
mov ss,ax
mov sp,16
mov ...
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:
mov ax,stacksg
mov ss,ax
mov sp,16
mov ...
阅读全文 |
评论次数(1) |
浏览次数(604) |
所属类型(汇编作业)
[2008-11-27 18:55] 检测点10.4
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b8 06 00 mov ax,6
1000:2(这里是不是错了,应该是1000:3才对吧)
1000:3 ff d0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
我的个人分析:
首先mov ax,...
内存地址 机器码 汇编指令
1000:0 b8 06 00 mov ax,6
1000:2(这里是不是错了,应该是1000:3才对吧)
1000:3 ff d0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
我的个人分析:
首先mov ax,...
阅读全文 |
评论次数(1) |
浏览次数(694) |
所属类型(汇编作业)
[2008-11-27 18:48] 检测点10.3
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 9a 09 00 00 10 call far ptr s
1000: 8 40 inc ax
1000: 9 58 s:pop ax
add ax,ax
pop bx
...
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 9a 09 00 00 10 call far ptr s
1000: 8 40 inc ax
1000: 9 58 s:pop ax
add ax,ax
pop bx
...
阅读全文 |
评论次数(1) |
浏览次数(564) |
所属类型(汇编作业)
[2008-11-27 18:38] 检测点10.2
下面的程序执行后,ax中的数字为多少?
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 e8 01 00 call s
1000:6 40 inc ax
1000: 7 58 s:pop ax
mov ax,0;执行后ax=0
call s 对应的操作是
Push IP
jmp near ptr s
先是分析读入这条命令后的IP为6,因此6被压入...
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 e8 01 00 call s
1000:6 40 inc ax
1000: 7 58 s:pop ax
mov ax,0;执行后ax=0
call s 对应的操作是
Push IP
jmp near ptr s
先是分析读入这条命令后的IP为6,因此6被压入...
阅读全文 |
评论次数(1) |
浏览次数(530) |
所属类型(汇编作业)
[2008-11-27 16:46] 检测点10.1
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,______;1000
push ax
mov ax,______;0
push ax
retf
code ends
end start...
stack segment
db 16 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,______;1000
push ax
mov ax,______;0
push ax
retf
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(451) |
所属类型(汇编作业)
[2008-11-27 16:41] 检测点9.1
assume cs:code
data segment
----;这里我刚开始填的是db 0,0,0;
之后想想这样填 db 0
dw offset start
思考了后觉得其实出题者的目的主要为了让[bx+1]既偏移地址为1的字单元为0,让IP值为0,所以其实一个数无关紧要。
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
cod...
data segment
----;这里我刚开始填的是db 0,0,0;
之后想想这样填 db 0
dw offset start
思考了后觉得其实出题者的目的主要为了让[bx+1]既偏移地址为1的字单元为0,让IP值为0,所以其实一个数无关紧要。
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
cod...
阅读全文 |
评论次数(2) |
浏览次数(592) |
所属类型(汇编作业)
[2008-11-27 16:30] 检测点9.3
补全程序,利用loop指令,实现在内存2000段中查找第一个值为0的byte, 找到后,将它的偏移地址存储在dx中
assume cs:code
code segment
start:mov ax, 2000h
mov ds, ax
mov bx, 0
s:mov cl, [bx]
mov ch, 0
____________ 之前感觉这个空好像不要也行,实在要填就只能填nop了 。突然又觉得好像如果内存单元为0,CX为0的话...
assume cs:code
code segment
start:mov ax, 2000h
mov ds, ax
mov bx, 0
s:mov cl, [bx]
mov ch, 0
____________ 之前感觉这个空好像不要也行,实在要填就只能填nop了 。突然又觉得好像如果内存单元为0,CX为0的话...
阅读全文 |
评论次数(1) |
浏览次数(463) |
所属类型(汇编作业)