1.把键盘的扫描码读入并将其转化成ASCⅡ码或状态信息,存储在内存的指定位置的中断例程是___3___。
1、 int 16h
2、 int 21h
3、 int 9h
4、 int 10h
2.提供读取键盘缓冲区功能的BIOS中断例程是__4___。
1、 int 9h
2、 int 21h
3、 int 10h
4、 int 16h
3.当有键按下时,将按键的___3____依次存储在键盘缓冲区中。
1、 通码和断码
2、 通码和扫描码
3、 通码和ASCII码
4、 断码和ASCII码
分析:...


- [alabo886] 出现add [bx+si],al 我的也是啊,有时还出现别的莫名其妙的指令,不明怎么回事? 10/18 10:30
- [2007211006sj] 假如code中 a dw 1,2,3,4,5,6,7,65500 b dd 0 呢? 06/11 20:51
- [游客] 呵呵 ,我刚学汇编,一口气读完了第5章,希望以后可以一起讨论. 07/14 17:37
- [deepblue] 加油!革命同志 06/20 10:08
- [ppt] 做笔记很好,记忆深刻. 06/14 12:07
- [duckgaga] 加油! 06/12 23:40
- [tomato] 够认真! 06/12 20:25
- [tomato] 博主学习汇编语言的路程马上要走完了!一路辛苦了!不过改个弯又是另一条更宽阔的路途等待博主去走下去!加 06/12 20:23
- [tomato] 嗯,不错,我比较喜欢优美的文章,呵呵! 06/12 20:09
- [ppt] 分析分析不错. 06/11 22:57
[2008-06-20 09:43] 第十七章检测题
阅读全文 |
评论次数(1) |
浏览次数(1183) |
所属类型(汇编作业)
[2008-06-10 21:59] 第16章检测题
1.将标号a处的8个数累加的和放到标号b处所在的单元中,下面选项中的程序正确的是___4___。
1、 assume cs:code
code segment
mov si,0
mov cx,8
s: add b,a[si]
inc si
loop s
mov ax,4c00h
int 21h
a db 1,2,3,4,5,6,7,8
b db 0
code ends
end
2、 assume cs:code,ds:data
...
1、 assume cs:code
code segment
mov si,0
mov cx,8
s: add b,a[si]
inc si
loop s
mov ax,4c00h
int 21h
a db 1,2,3,4,5,6,7,8
b db 0
code ends
end
2、 assume cs:code,ds:data
...
阅读全文 |
评论次数(1) |
浏览次数(1220) |
所属类型(汇编作业)
[2008-06-10 21:18] 检测点17.1及书上一段程序的分析
检测点17.1
这种说法是对的,因为在int 16h的中断例程中,我们需要来自键盘的信息。进入了int 16h中断后,IF=0一直下去,那么从键盘来的中断int 9h,CPU是不会响应的,因为int 9h是可屏蔽中断,所以一定有设置IF=1的指令。
下面是第二版汇编语言第303页的一段程序的分析
assume cs:code
code segment
start: mov ah,0 ;采用int 16h的0号例程
int 16h ;从键盘读取一个字符
mov ah,1 ...
这种说法是对的,因为在int 16h的中断例程中,我们需要来自键盘的信息。进入了int 16h中断后,IF=0一直下去,那么从键盘来的中断int 9h,CPU是不会响应的,因为int 9h是可屏蔽中断,所以一定有设置IF=1的指令。
下面是第二版汇编语言第303页的一段程序的分析
assume cs:code
code segment
start: mov ah,0 ;采用int 16h的0号例程
int 16h ;从键盘读取一个字符
mov ah,1 ...
阅读全文 |
评论次数(-3) |
浏览次数(911) |
所属类型(汇编作业)
[2008-06-10 15:33] 第15章检测题(附14章的两道检测题)
1.下面的说法正确的是___4___。
1、 外设的输入随时都能获得CPU的处理。
2、 计算机外设的输入不直接送入CPU,而是直接送入内存。
3、 标志寄存器IF位决定着中断信息能否被CPU处理。
4、 以上说法都有错误。
分析:可能选4,不可屏蔽中断就不由IF决定
第一次我选了3,做错了
2.以下说法错误的是___2__。
1、 CPU通过总线和端口来与外部设备进行联系。
2、 不可屏蔽中断过程的第一步是取中断类型码。
3、 外部可屏蔽中断的中断类型码是通过数据总线送入CPU的。
4、 中断过程中将IF置为0是为了在中断过程中...
1、 外设的输入随时都能获得CPU的处理。
2、 计算机外设的输入不直接送入CPU,而是直接送入内存。
3、 标志寄存器IF位决定着中断信息能否被CPU处理。
4、 以上说法都有错误。
分析:可能选4,不可屏蔽中断就不由IF决定
第一次我选了3,做错了
2.以下说法错误的是___2__。
1、 CPU通过总线和端口来与外部设备进行联系。
2、 不可屏蔽中断过程的第一步是取中断类型码。
3、 外部可屏蔽中断的中断类型码是通过数据总线送入CPU的。
4、 中断过程中将IF置为0是为了在中断过程中...
阅读全文 |
评论次数(3) |
浏览次数(660) |
所属类型(汇编作业)
[2008-06-10 09:05] 检测点16.1、16.2
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[0],ax
adc word ptr b[2],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start
我们还可以写为
ad...
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[0],ax
adc word ptr b[2],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start
我们还可以写为
ad...
阅读全文 |
评论次数(2) |
浏览次数(881) |
所属类型(汇编作业)
[2008-06-10 00:55] 实验16
assume cs:code
code segment
setscreen: jmp short set
table dw sub1,sub2,sub3,sub4 ;待安装的中断例程
set: push bx
;这些都是书上有的
cmp ah,3
ja sret
mov bl,ah
mov bh,0
add bx,bx
call word ptr table[bx]
sret:pop bx ...
code segment
setscreen: jmp short set
table dw sub1,sub2,sub3,sub4 ;待安装的中断例程
set: push bx
;这些都是书上有的
cmp ah,3
ja sret
mov bl,ah
mov bh,0
add bx,bx
call word ptr table[bx]
sret:pop bx ...
阅读全文 |
评论次数(4) |
浏览次数(675) |
所属类型(汇编作业)
[2008-06-06 22:40] 实验15
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack ;设置堆栈
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
...
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack ;设置堆栈
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
...
阅读全文 |
评论次数(1) |
浏览次数(350) |
所属类型(汇编作业)
[2008-06-06 16:05] 检测点15.1
1.精简为
pushf
call dword ptr ds:[0]
2.在往中断向量表项中写入新int9的入口地址时,要屏蔽中断
cli
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
sti
初看第二版280页的程序时,还是迷糊了好一阵,中断怎么进入的,又是怎么回来的,然后回到哪儿去
首先我们按下了键盘,int9就会响应了,这时中断就开始了,跳转到新安装的int9中,然后通过iret返回,返回到字符显示的循环中
实际上我们所做的工作是编写了一个类似与引导程序的东西,然后加入了一些其他功能,如改变字符颜...
pushf
call dword ptr ds:[0]
2.在往中断向量表项中写入新int9的入口地址时,要屏蔽中断
cli
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
sti
初看第二版280页的程序时,还是迷糊了好一阵,中断怎么进入的,又是怎么回来的,然后回到哪儿去
首先我们按下了键盘,int9就会响应了,这时中断就开始了,跳转到新安装的int9中,然后通过iret返回,返回到字符显示的循环中
实际上我们所做的工作是编写了一个类似与引导程序的东西,然后加入了一些其他功能,如改变字符颜...
阅读全文 |
评论次数(1) |
浏览次数(338) |
所属类型(汇编作业)
[2008-06-04 22:29] 第十三章检测题
1.执行n号中断源对应的中断服务程序,CS,IP的内容应被修改为:(3)
1、 (IP) = (n*4+2) (CS) = (n*4)
2、 (IP) = (n*2+2) (CS) = (n*2)
3、 (IP) = (n*4) (CS) = (n*4+2)
4、 (IP) = (n*2) (CS) = (n*2+2)
8086的堆栈sp是逐渐减小的,所以地址值大的就是先入栈的
int指令将FR,CS,IP先后入栈
2.关于ret 和 iret下列说法错误的是 (1)
1、 ret和iret都改变标志寄存器的值
2、 ret不改变cs的...
1、 (IP) = (n*4+2) (CS) = (n*4)
2、 (IP) = (n*2+2) (CS) = (n*2)
3、 (IP) = (n*4) (CS) = (n*4+2)
4、 (IP) = (n*2) (CS) = (n*2+2)
8086的堆栈sp是逐渐减小的,所以地址值大的就是先入栈的
int指令将FR,CS,IP先后入栈
2.关于ret 和 iret下列说法错误的是 (1)
1、 ret和iret都改变标志寄存器的值
2、 ret不改变cs的...
阅读全文 |
评论次数(1) |
浏览次数(440) |
所属类型(汇编作业)
[2008-06-04 22:08] 第十二章检测题
1.下列指令能通过编译的是
1、 div [32]
2、 mov ax,ds:[bp]
3、 int 121h
4、 jmp 32
1.内存单元指的是字节还是字
4.也是同样的问题
3.一共有256个中断,121h>FFh
所以只能选2了
2. 在执行int指令前各个寄存器的值如下
AX=1221 BX=0005 CX=0014 DX=0000 SP=0016 BP=0000 SI=0000 DI=0000
DS=B800 ES=13F4 SS=1404 CS=1404 IP=0012 NV UP EI PL NZ NA P...
1、 div [32]
2、 mov ax,ds:[bp]
3、 int 121h
4、 jmp 32
1.内存单元指的是字节还是字
4.也是同样的问题
3.一共有256个中断,121h>FFh
所以只能选2了
2. 在执行int指令前各个寄存器的值如下
AX=1221 BX=0005 CX=0014 DX=0000 SP=0016 BP=0000 SI=0000 DI=0000
DS=B800 ES=13F4 SS=1404 CS=1404 IP=0012 NV UP EI PL NZ NA P...
阅读全文 |
评论次数(1) |
浏览次数(391) |
所属类型(汇编作业)