[2009-06-20 21:20] 检测点16.1
下面的程序将code段中a处的8个数据累加,结果存储到b处的dword中,补全程序。
完整程序如图:...
完整程序如图:...
阅读全文 |
评论次数(1) |
浏览次数(428) |
所属类型(作业)
[2009-06-20 21:17] 监测点15.1
(1)
pushf
call dword ptr ds:[0]
(2)仔细分析上面程序中的主程序[第269页],看看有什么潜在的问题?
在主程序中,如果在执行设置int 9中断例程的段地址和偏移地址的指令之间发生了键盘中断,则CPU将转去一个错误的地址执行,将发生错误。
找出这样的程序段,改写它们,排除潜在的问题。
答:有两个错误;只要加上cli,sti,就OK了。cli,用于设置IF=0; sti,用于设置IF=1; IF=0的时候,禁止其他的可屏蔽中断。
改写方法:在pop ds:[2]指令后加入一条cli指令,并在mov es:[9*4...
pushf
call dword ptr ds:[0]
(2)仔细分析上面程序中的主程序[第269页],看看有什么潜在的问题?
在主程序中,如果在执行设置int 9中断例程的段地址和偏移地址的指令之间发生了键盘中断,则CPU将转去一个错误的地址执行,将发生错误。
找出这样的程序段,改写它们,排除潜在的问题。
答:有两个错误;只要加上cli,sti,就OK了。cli,用于设置IF=0; sti,用于设置IF=1; IF=0的时候,禁止其他的可屏蔽中断。
改写方法:在pop ds:[2]指令后加入一条cli指令,并在mov es:[9*4...
阅读全文 |
评论次数(1) |
浏览次数(455) |
所属类型(作业)
[2009-06-12 11:20] 实验10
1.显示子程序
完整程序如下:
data segment
db 'Welcome to masm!',0
data ends
code segment
assume cs:code,ds:data
start:
mov dh,1 ;dh装行号(范围:1--25)
mov dl,1 ;dl装列号(范围:1--80)[注:每超过80等于行号自动加1]
mov cl,0cah ...
完整程序如下:
data segment
db 'Welcome to masm!',0
data ends
code segment
assume cs:code,ds:data
start:
mov dh,1 ;dh装行号(范围:1--25)
mov dl,1 ;dl装列号(范围:1--80)[注:每超过80等于行号自动加1]
mov cl,0cah ...
阅读全文 |
评论次数(0) |
浏览次数(354) |
所属类型(作业)
[2009-06-12 11:16] 检测点14.2
编程:用加法和移位指令计算(ax)=(ax)*10
提示:(ax)*10=(ax)*2+(ax)*8
程序如下:
assume cs:code
code segment
start:
mov ax,1000h
mov bx,ax
shl bx,1 ;(ax)=(ax)*2
mov cl,3
shl ax,cl ;(ax)=(ax)*8
add ax,bx ;(ax)=(ax)*10
mov ax,4c00h ...
提示:(ax)*10=(ax)*2+(ax)*8
程序如下:
assume cs:code
code segment
start:
mov ax,1000h
mov bx,ax
shl bx,1 ;(ax)=(ax)*2
mov cl,3
shl ax,cl ;(ax)=(ax)*8
add ax,bx ;(ax)=(ax)*10
mov ax,4c00h ...
阅读全文 |
评论次数(0) |
浏览次数(359) |
所属类型(作业)
[2009-06-12 11:15] 检测点14.1
1)编程:读取CMOS RAM的2号单元的内容。
程序如下:
assume cs:code
code segment
start:
mov al,2 ;2号单元为‘分钟’
out 70h,al ;把2号单元地址写入端口地址中
in al,71h ;取得端口的数据即当前时间的‘分’。
mov ax,4c00h
int 21h
code ends
end start
--------------------------------------...
程序如下:
assume cs:code
code segment
start:
mov al,2 ;2号单元为‘分钟’
out 70h,al ;把2号单元地址写入端口地址中
in al,71h ;取得端口的数据即当前时间的‘分’。
mov ax,4c00h
int 21h
code ends
end start
--------------------------------------...
阅读全文 |
评论次数(0) |
浏览次数(352) |
所属类型(作业)
[2009-06-10 22:48] 检测点13.2
(1)我们可以编程改变FFFF:0处的指令,使得CPU不去执行bios中的硬件系统检测和初始化程序
解析及答案:
此说法错误。用debug的e命令试验对FFFF:0单元写入信息和d命令查看得知无效。所以FFFF:0单元是只能读出不能写入的存储单元,所以不能更改其中的内容。
------------------------------------------------------
(2)int 19h中断例程,可以由dos提供。
解析及答案:
由书本“硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。从此将计算机交由操作系统控制。...
解析及答案:
此说法错误。用debug的e命令试验对FFFF:0单元写入信息和d命令查看得知无效。所以FFFF:0单元是只能读出不能写入的存储单元,所以不能更改其中的内容。
------------------------------------------------------
(2)int 19h中断例程,可以由dos提供。
解析及答案:
由书本“硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。从此将计算机交由操作系统控制。...
阅读全文 |
评论次数(1) |
浏览次数(473) |
所属类型(作业)
[2009-06-10 22:45] 检测点13.1
用7ch中断例程完成loop指令的功能。
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lpend - offset lp
cld
rep movsb
mov ax,0
m...
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lpend - offset lp
cld
rep movsb
mov ax,0
m...
阅读全文 |
评论次数(1) |
浏览次数(435) |
所属类型(作业)
[2009-06-10 22:44] 检测点9.1
(1)若要使jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
完整程序如下:
assume cs:code,ds:data
data segment
db 0,0,0 (填空内容)
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1] ;段内间接转移
code ends
end start
(2)补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令。
...
完整程序如下:
assume cs:code,ds:data
data segment
db 0,0,0 (填空内容)
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1] ;段内间接转移
code ends
end start
(2)补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令。
...
阅读全文 |
评论次数(1) |
浏览次数(434) |
所属类型(作业)
[2009-06-05 10:51] 检测点9.3
assume cs:code
code segment
start:mov ax, 2000h
mov ds, ax
mov bx, 0
s:mov cl, [bx]
mov ch, 0
____________
inc bx
loop s
ok:dec bx
mov dx, bx
mov ax, 4c00h
int 21h
code ends
end start
===================...
code segment
start:mov ax, 2000h
mov ds, ax
mov bx, 0
s:mov cl, [bx]
mov ch, 0
____________
inc bx
loop s
ok:dec bx
mov dx, bx
mov ax, 4c00h
int 21h
code ends
end start
===================...
阅读全文 |
评论次数(1) |
浏览次数(384) |
所属类型(作业)
[2009-06-05 10:49] 检测点9.2
mov cl,[bx]
mov ch,0
jcxz ok
inc bx...
mov ch,0
jcxz ok
inc bx...
阅读全文 |
评论次数(1) |
浏览次数(423) |
所属类型(作业)
『 查看更多文章 』