汇编网首页登录博客注册
linghulg的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2009-04-18 11:29] 检测点17.1

在int 16h中断例程中,一定有设置IF=1的指令。这种说法对吗?

答:对。int 16h中断例程的工作过程要循环检测键盘缓冲区中是否有数据,即随时回应键盘输入产生的中断请求。则表明一定有设置IF=1。...
阅读全文 | 评论次数(1) | 浏览次数(665) | 所属类型(汇编作业)

[2009-04-16 23:27] 实验十六

;实验十六 编写包含多个功能子程序的中断例程
;安装一个新int 7ch中断例程,为显示输出提供如下子程序。
;(1)清屏
;(2)设置前景色
;(3)设置背景色
;(4)向上滚动一行
;入口参数说明如下:
;(1)用ah寄郹器传递功能号:0清屏,1设置前景色,2设置背景色,3向上滚动一行
;(2)用al传送颜色值,al最大值为7,最小值为0。

assume cs:code

stack segment
  db 128 dup (0)
stack ends

code segment

;=======int7ch中断例程=======
int7ch:...
阅读全文 | 评论次数(1) | 浏览次数(643) | 所属类型(汇编作业)

[2009-04-15 08:35] 检测点16.1、16.2

下面的程序将code段中a处的8个数据累加,结果存储到b处的双字中,补全程序。

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 cs:[16],ax
      adc cs:[18],0
      add si,2
      loop s

      mov ax,4c00h
      int 21h
code ends
end start

下面的程序...
阅读全文 | 评论次数(2) | 浏览次数(669) | 所属类型(汇编作业)

[2009-04-14 06:04] 实验十五

;实验十五安装新的int9中断例程。
;按A键松开后用字符A刷屏。
;主线:初始化ss、ds、es->复制代码至0:204处->更新中断向量表->结束
;支线:新int9模块(含刷屏模块)

assume cs:code

stack segment
  db 128 dup (0)
stack ends

code segment
start:;初始化ss、ds、es
      mov ax,stack
      mov ss,ax
      mov sp,128

      push cs
      pop ds
      mov si,o...
阅读全文 | 评论次数(1) | 浏览次数(743) | 所属类型(汇编作业)

[2009-04-10 10:07] 实验十四

编程,以"年/月/日 时:分:秒"的格式,显示当前的日期、时间。

assume cs:code

data segment
  db "00/00/00 00:00:00",'$'
data ends

stack segment
  dw 16 dup (0)
stack ends
 
code segment
start:mov ax,stack
      mov ss,ax
      mov sp,32
     
      mov ax,data
      mov ds,ax
      mov si,0

      ;分两次循环将...
阅读全文 | 评论次数(1) | 浏览次数(715) | 所属类型(汇编作业)

[2009-04-09 06:46] 检测点14.1、14.2

检测点14.1

(1)编程,读取CMOS RAM的2号单元的内容。

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)编程,向CMOS RAM的2号单元写入0。

assume cs:code
code segment
start:mov al,2
      out 70h,al
      mov al,0
  ...
阅读全文 | 评论次数(2) | 浏览次数(716) | 所属类型(汇编作业)

[2009-04-07 22:48] 实验十三

(1)编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。
参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。

assume cs:code

code segment
start:;安装do7c中断例程
       mov ax,cs
      mov ds,ax
      mov si,offset do_begin
      
      mov ax,0
      mov es,ax
      mov di,200h

      mov cx,offset do_en...
阅读全文 | 评论次数(0) | 浏览次数(485) | 所属类型(汇编作业)

[2009-04-07 10:19] 检测点13.1、13.2

检测点13.1

(1)在上面的内容中,我们用7ch中断例程实现loop的功能,则上面的7ch中断例程所能进行的最大转移位移是多少?

答:由于利用bx储存转移位移,其最大值为-32768或32767。

(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。

应用举例:在屏幕的第12行,显示data段中以0为结尾的字符串。

assume cs:code

data segment
  db 'conversation',0
data ends

code segment
start:mov ax,data
  ...
阅读全文 | 评论次数(3) | 浏览次数(714) | 所属类型(汇编作业)

[2009-04-01 23:41] 实验十二

;实验十二
;编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串
;"divide error!",然后返回到DOS。
;编程步骤:
;第一步:安装do0
;第二步:设置中断向量表
;第三步:do0子程序

assume cs:code

code segment
start:;设置源数据首地址ds:si
      mov ax,code
      mov ds,ax
      mov si,offset do0 
      
      ;设置目的存放首地址es:di
      sub ax,ax
      mov es,ax ...
阅读全文 | 评论次数(3) | 浏览次数(442) | 所属类型(汇编作业)

[2009-04-01 20:53] 检测点12.1

(1)用Debug查看内存,情况如下:

0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00

则3号中断源对应的中断处理程序入口地址为( 0070:018B )。

(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元地址为( 4N )。

存储N号中断源对应的中断处理程序入口的段地址的内存单元地址为( 4N+2 )...
阅读全文 | 评论次数(1) | 浏览次数(449) | 所属类型(汇编作业)
『 查看更多文章 』