(1)
pushf
pushf
pop ax
and ah,11111100b
push ax
popf
call dword ptr ds:[0]
可以精简为:
pushf
call dword ptr ds:[0]
两条指令
解析:
因为,在int 9中断例程执行前,
硬件系统已经完成了3步工作
1、键盘产生扫描码
2、扫描码送入60h端口
3、引发9号中断
在第3步就要修改IF=0,TF=0
(2)
push es:[9*4]
pop ds:[0]
pus...

[2009-06-11 22:07] 检测点15.1
阅读全文 |
评论次数(1) |
浏览次数(355) |
所属类型(默认类型)
[2009-06-11 22:06] 检测点16.2
assume cs:code,ds:data
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start:
mov ax,data
mov ds,ax
;前2句所填。获取数据段中的段地址,以便代码段中使用
mov si,0
mov cx,8
s: mov al,a[si]
mov ah,0
add b,ax
inc si
loop s ...
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start:
mov ax,data
mov ds,ax
;前2句所填。获取数据段中的段地址,以便代码段中使用
mov si,0
mov cx,8
s: mov al,a[si]
mov ah,0
add b,ax
inc si
loop s ...
阅读全文 |
评论次数(1) |
浏览次数(348) |
所属类型(默认类型)
[2009-06-11 22:03] 检测点 14.1~ 14.2
(1)编程 ,读取CMOS RAM 2号单元内容
(2)编程,像CMOS 2号单元写入0
assume cs:code
code segment
start:mov al,2
out 70H,al
in al,71h
mov ax,4c00H
int 21h
code ends
end start
(2)assume cs:code
code segment
start:mov al,2
out 70H,al
out 7...
(2)编程,像CMOS 2号单元写入0
assume cs:code
code segment
start:mov al,2
out 70H,al
in al,71h
mov ax,4c00H
int 21h
code ends
end start
(2)assume cs:code
code segment
start:mov al,2
out 70H,al
out 7...
阅读全文 |
评论次数(1) |
浏览次数(388) |
所属类型(默认类型)
[2009-06-11 21:45] 检测点16.1
(1)
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
loop s
mov...
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
loop s
mov...
阅读全文 |
评论次数(1) |
浏览次数(340) |
所属类型(默认类型)
[2009-06-05 12:47] 检测点3.2
由题可知
此三个空要确定栈地址的初始位置
即SS与SP
即:
mov ax,2000H
mov ss,ax 不能直接向栈地址传送数据
mov sp,10H 起始的偏移地址(栈底)(0E+2=10H)
第二题:
与第一题相反
即mov ax,1000H 要出栈的初始数据
mov ss,ax
mov sp,0H 起始的偏移地址(栈顶0000H)...
此三个空要确定栈地址的初始位置
即SS与SP
即:
mov ax,2000H
mov ss,ax 不能直接向栈地址传送数据
mov sp,10H 起始的偏移地址(栈底)(0E+2=10H)
第二题:
与第一题相反
即mov ax,1000H 要出栈的初始数据
mov ss,ax
mov sp,0H 起始的偏移地址(栈顶0000H)...
阅读全文 |
评论次数(1) |
浏览次数(352) |
所属类型(默认类型)
[2009-06-05 12:43] 检测点6.1
第一题
mov cs:[bx],ax 因为把数据当做代码段来处理了
第二题
第1空
mov ax,cs 因为要把代码段间接传送给栈段
第2空
mov sp,1AH 确定栈底的偏移地址
第3空
pop cs:[bx] 指定数据出栈到代码段...
mov cs:[bx],ax 因为把数据当做代码段来处理了
第二题
第1空
mov ax,cs 因为要把代码段间接传送给栈段
第2空
mov sp,1AH 确定栈底的偏移地址
第3空
pop cs:[bx] 指定数据出栈到代码段...
阅读全文 |
评论次数(1) |
浏览次数(304) |
所属类型(默认类型)
[2009-06-05 12:42] 检测点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) |
浏览次数(332) |
所属类型(默认类型)
[2009-06-05 12:41] 检测点9.2
利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: ________
________
________
________
jmp short s
ok: mo...
assume cs:code
code segment
start: mov ax,2000H
mov ds,ax
mov bx,0
s: ________
________
________
________
jmp short s
ok: mo...
阅读全文 |
评论次数(1) |
浏览次数(322) |
所属类型(默认类型)
[2009-06-05 12:39] 检测点11.4
assume cs:code
code segment
mov ax,0
push ax
popf
mov ax,0fff0h
add ax,0010h
pushf
pop ax
and al,11000101B
and ah,00001000B
mov ax,4c00h
int 21h
code ends
end
执行指令"add ax,0010h"后,CF=1,OF=0,SF=0,ZF=1,PF=1
(ax)=0045H...
code segment
mov ax,0
push ax
popf
mov ax,0fff0h
add ax,0010h
pushf
pop ax
and al,11000101B
and ah,00001000B
mov ax,4c00h
int 21h
code ends
end
执行指令"add ax,0010h"后,CF=1,OF=0,SF=0,ZF=1,PF=1
(ax)=0045H...
阅读全文 |
评论次数(1) |
浏览次数(318) |
所属类型(默认类型)
[2009-06-05 12:38] 检测点11.3
1)补全下面的程序,统计F000:0处32个字节中,大小在[32,128]的数据的个数。
mov ax, 0f000h
mov ds, ax
mov bx, 0
mov dx, 0
mov cx, 32
s:mov al, [bx]
cmp al, 32
jb s0 //填空内容
cmp al, 128
ja s0 //填空内容
inc dx
s0:inc bx
loop s
2)补全下面的程序,统计F000:0处32个字节中,...
mov ax, 0f000h
mov ds, ax
mov bx, 0
mov dx, 0
mov cx, 32
s:mov al, [bx]
cmp al, 32
jb s0 //填空内容
cmp al, 128
ja s0 //填空内容
inc dx
s0:inc bx
loop s
2)补全下面的程序,统计F000:0处32个字节中,...
阅读全文 |
评论次数(1) |
浏览次数(306) |
所属类型(默认类型)
『 查看更多文章 』