(1) 将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exe.
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,10
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
(2) 用DEBUG跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的...


- [bqzjsblxp] 近日在重新学习本书,楼上说得很对,领教了。 10/25 10:26
- [游客] 回答正确。 05/08 16:56
- [游客] 没问题。 05/08 16:56
- [wsrf] 没有问题。 05/06 23:38
- [wsrf] 没有问题。 05/06 23:32
- [wsrf] 没有问题。 05/06 23:16
- [bslg123] 错了,一楼的老师说的正解。 楼主还是在把第十章好好的复习一下!! 04/09 09:24
- [bqzjsblxp] 在网上找的,感觉不错,所以贴在这里. 04/08 13:24
- [bqzjsblxp] 感谢楼上的朋友的指点,这段程序我是经过调试的,结果正确.在调用子程序时,当子程序循环执行是不会执行到 04/08 13:15
- [younggay] 回答OK。 04/08 10:45
[2012-11-08 10:49] 第四章 实验任务
阅读全文 |
评论次数(0) |
浏览次数(824) |
所属类型(实验任务)
[2009-05-06 20:37] 实验14 显示BIOS中的时间
代码如下:assume cs:code,ds:data
data segment
db 9,8,7,4,2,0
data ends
temp segment
db ' / / : : ',0
temp ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,temp
mov es,ax
mov di,0
mov cx,6
s: mov al,[si]
call send
inc si
add di,3
loop s
mov...
data segment
db 9,8,7,4,2,0
data ends
temp segment
db ' / / : : ',0
temp ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,temp
mov es,ax
mov di,0
mov cx,6
s: mov al,[si]
call send
inc si
add di,3
loop s
mov...
阅读全文 |
评论次数(1) |
浏览次数(1347) |
所属类型(实验任务)
[2009-05-06 19:33] 实验13
(1)编写并安装INT 7CH中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处.代码如下:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset jps
mov ax,0
mov es,ax
mov di,200h
mov cx,offset jpsend-offset jps
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word pt...
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset jps
mov ax,0
mov es,ax
mov di,200h
mov cx,offset jpsend-offset jps
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word pt...
阅读全文 |
评论次数(1) |
浏览次数(1364) |
所属类型(实验任务)
[2009-04-29 08:00] 第十二章 实验任务 编写安装除法溢出中断例程
assume cs:code
code segment
start:mov ax,0 ;复制中断例程
mov es,ax
mov di,200h
mov ax,cs
mov ds,ax
mov si,offset do0
mov cx,offset do0end-offset do0
cld
rep movsb
mov ax,0 ;写入中断向量表
mov es,ax
mov word ptr es:[0...
code segment
start:mov ax,0 ;复制中断例程
mov es,ax
mov di,200h
mov ax,cs
mov ds,ax
mov si,offset do0
mov cx,offset do0end-offset do0
cld
rep movsb
mov ax,0 ;写入中断向量表
mov es,ax
mov word ptr es:[0...
阅读全文 |
评论次数(0) |
浏览次数(1176) |
所属类型(实验任务)
[2009-04-08 09:18] 实验11 编写子程序,将包含任意字符,以0结尾的字符串中的小定字母转变成大写字母。
程序代码如下:
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instruction Code,",0
data ends
code segment
begin:mov ax,data
mov ds,ax
mov si,0
call letterc
letterc:mov al,[si]
cmp al,0
je ok
cmp al,61h
jb s
cmp al,7...
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instruction Code,",0
data ends
code segment
begin:mov ax,data
mov ds,ax
mov si,0
call letterc
letterc:mov al,[si]
cmp al,0
je ok
cmp al,61h
jb s
cmp al,7...
阅读全文 |
评论次数(3) |
浏览次数(1487) |
所属类型(实验任务)
[2009-03-31 12:06] 实验任务10之三:数值显示
assume cs:code
data segment
db 10 dup (0)
data ends
code segment
start:mov ax,12666
mov bx,data
mov ds,bx
mov bx,0
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
dtoc:mov dx,0
mov cx,10
s:div cx ...
data segment
db 10 dup (0)
data ends
code segment
start:mov ax,12666
mov bx,data
mov ds,bx
mov bx,0
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
dtoc:mov dx,0
mov cx,10
s:div cx ...
阅读全文 |
评论次数(2) |
浏览次数(437) |
所属类型(实验任务)
[2009-03-31 12:06] 实验任务10之二:解决除法溢出的问题
代码如下:
assume cs:code
data segment
dd 1000000
dw 10
data ends
code segment
start:mov ax,data
mov ds,ax
mov dx,ds:[2]
mov ax,ds:[0]
mov cx,ds:[4]
call short divdw
mov ax,4c00h
int 21h
divdw:mov bx,ax
mov ax,dx
mov dx,...
assume cs:code
data segment
dd 1000000
dw 10
data ends
code segment
start:mov ax,data
mov ds,ax
mov dx,ds:[2]
mov ax,ds:[0]
mov cx,ds:[4]
call short divdw
mov ax,4c00h
int 21h
divdw:mov bx,ax
mov ax,dx
mov dx,...
阅读全文 |
评论次数(2) |
浏览次数(448) |
所属类型(实验任务)
[2009-03-27 08:04] 实验任务10之一:显示字符串
(1) 显示字符串
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 cx
push si
...
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 cx
push si
...
阅读全文 |
评论次数(1) |
浏览次数(424) |
所属类型(实验任务)
[2009-03-25 08:02] 第九章 实验9
编程,在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串‘welcome to masm!’。
答:程序代码如下:
assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!'
db '02h,04h,71h'
data ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mo...
答:程序代码如下:
assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!'
db '02h,04h,71h'
data ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mo...
阅读全文 |
评论次数(2) |
浏览次数(435) |
所属类型(实验任务)
[2009-03-24 07:39] 第八章 实验任务
程序代码如下:
assume cs:code,ds:data,es:table
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
db '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,5908...
assume cs:code,ds:data,es:table
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
db '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,5908...
阅读全文 |
评论次数(1) |
浏览次数(438) |
所属类型(实验任务)