检测点14.1
----------------------
(1)编程:读取CMOS RAM的2号单元的内容。
完整程序如下:
assume cs:code
code segment
start:
mov al,2
out 70h,al
in al,71h ;此时al中装的是当前时间的‘分’。
mov ax,4c00h
int 21h
code ends
end start
----------------------
(2) 编程:向CMOS RAM的...


- [tomato] 正确。 06/15 14:58
- [tomato] 第一题去掉pushf可以吗?第二题还有一处需要设置。 06/15 14:57
- [tomato] 正确。 06/15 14:55
- [tomato] 正确。 06/15 14:55
- [tomato] 第一题不正确,第二题没做完。 06/15 14:54
- [tomato] 正确。 06/15 14:52
- [游客] 正确。 06/10 16:34
- [mess] 答案都正确,博主继续加油吧~ 06/09 09:59
- [martian] 博主对call 标号理解正确。 06/03 16:50
- [martian] 问题分析正切 06/03 16:50
[2009-06-14 09:51] 检测点14.1,14.2
阅读全文 |
评论次数(1) |
浏览次数(321) |
所属类型(汇编作业)
[2009-06-14 09:47] 检测点15.1
检测点15.1
=================================
<1>可以精简为:
pushf
call dword ptr ds:[0]
我认为应该一句就行了.call dword ptr ds:[0].
两条指令。
====================================
<2>
会来的急在此段和偏的地址发生int 9中断?
在主程序中,如果在执行设置int 9中断例程的段地址和偏移地址的指令之间发生了键盘中断,则CPU将转去一个错误的地址执行,将发生错误。注意sti和cli指令的用法。
cli
mov word...
=================================
<1>可以精简为:
pushf
call dword ptr ds:[0]
我认为应该一句就行了.call dword ptr ds:[0].
两条指令。
====================================
<2>
会来的急在此段和偏的地址发生int 9中断?
在主程序中,如果在执行设置int 9中断例程的段地址和偏移地址的指令之间发生了键盘中断,则CPU将转去一个错误的地址执行,将发生错误。注意sti和cli指令的用法。
cli
mov word...
阅读全文 |
评论次数(1) |
浏览次数(388) |
所属类型(汇编作业)
[2009-06-14 09:43] 检测点12.1
检测点12.1
-------------------
(1)
用Debug查看内存,情况如下:
0000:0000 68 10 A7 00 88 01 70 00 —16 00 9D 03 8B 01 70 00
则3号中断 为:3号中断源对应的中断处理程序的入口地址为:0070:018B
(高地址存放段地址,低地址存放偏移地址)
-------------------
(2)
存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为:4N 4N+2...
-------------------
(1)
用Debug查看内存,情况如下:
0000:0000 68 10 A7 00 88 01 70 00 —16 00 9D 03 8B 01 70 00
则3号中断 为:3号中断源对应的中断处理程序的入口地址为:0070:018B
(高地址存放段地址,低地址存放偏移地址)
-------------------
(2)
存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为:4N 4N+2...
阅读全文 |
评论次数(1) |
浏览次数(314) |
所属类型(汇编作业)
[2009-06-14 09:34] 检测点6.1
检测点6.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 ax,4c00h
int 21h
codesg ends
end start
--------...
-------------------
(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 ax,4c00h
int 21h
codesg ends
end start
--------...
阅读全文 |
评论次数(1) |
浏览次数(371) |
所属类型(汇编作业)
[2009-06-14 09:32] 检测点 13.1
检测点 13.1
(1) 答:所能进行的最大转移位移是128[指向前转移]。因为是实现loop的功能,那就应当遵守loop的使用规则。上面的7CH中断例程所能进行的最大转移位移为 FFFF。
(2) 用7CH中断例程完成 jmp near ptr s指令的功能,用bx向中断例;程传送转移位置
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start:mov ax,0
mov es,ax
mov si,o...
(1) 答:所能进行的最大转移位移是128[指向前转移]。因为是实现loop的功能,那就应当遵守loop的使用规则。上面的7CH中断例程所能进行的最大转移位移为 FFFF。
(2) 用7CH中断例程完成 jmp near ptr s指令的功能,用bx向中断例;程传送转移位置
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start:mov ax,0
mov es,ax
mov si,o...
阅读全文 |
评论次数(1) |
浏览次数(340) |
所属类型(汇编作业)
[2009-06-14 09:25] 检测点16.1,16.2
检测点16.1,16.2
下面的程序将code段中a处的8个数据累加,结果存储到b处的dword中,补全程序。
完整程序如下:
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b,ax
adc word ptr b[2],0
...
下面的程序将code段中a处的8个数据累加,结果存储到b处的dword中,补全程序。
完整程序如下:
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b,ax
adc word ptr b[2],0
...
阅读全文 |
评论次数(1) |
浏览次数(274) |
所属类型(汇编作业)
[2009-06-08 21:30] 检测点9.1,9.2,9.3
检测点9.1
1.assume cs:code
data segment
dw 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
为了使IP的值经跳转后变为0,则需保证ds:[bx+1]处的
字型单元数据为0000H,
2.assume cs:code
data segment
dd 12345678h
data en...
1.assume cs:code
data segment
dw 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
为了使IP的值经跳转后变为0,则需保证ds:[bx+1]处的
字型单元数据为0000H,
2.assume cs:code
data segment
dd 12345678h
data en...
阅读全文 |
评论次数(1) |
浏览次数(559) |
所属类型(汇编作业)
[2009-06-03 15:33] 检测点10.5
检测点10.5
(1)下面的程序执行后,ax中的数值为多少?
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
...
(1)下面的程序执行后,ax中的数值为多少?
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
...
阅读全文 |
评论次数(1) |
浏览次数(291) |
所属类型(汇编作业)
[2009-06-03 15:32] 检测点10.4
检测点10.4
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b80000 mov ax,6
1000:2 ffd0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
答:ax是000Bh。
程序执行到call ax...
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b80000 mov ax,6
1000:2 ffd0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
答:ax是000Bh。
程序执行到call ax...
阅读全文 |
评论次数(1) |
浏览次数(325) |
所属类型(汇编作业)
[2009-06-03 15:31] 检测点10.3
检测点10.3
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b80000 mov ax,0
1000:3 9a09000010 call far ptr s
1000:8 40 inc ax
1000:9 58 s:pop ax
add ax,ax
pop ...
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b80000 mov ax,0
1000:3 9a09000010 call far ptr s
1000:8 40 inc ax
1000:9 58 s:pop ax
add ax,ax
pop ...
阅读全文 |
评论次数(1) |
浏览次数(389) |
所属类型(汇编作业)
『 查看更多文章 』