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

我的博客

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

[2009-07-27 21:38] 推荐博文 第十三章(实验十三)中断例程对loop功能实现的简单变通

本章在用int 7ch实现loop指令功能时候,所用的参数为cx:循环次数,bx:loop指令的转移位移值。实际应用里, cx的值可以在应用程序里较为方便的给出,而bx的值却需要用表达式表示,而且为了可以表达,也需要在循环指令段后加一个无实际含义的"s1:nop"之类的指令,以使得可以将bx表达为"offset s-offset s1"。其实,稍微想一下,便可以知道,通过int 7ch实现loop的实际点在于在循环未结束时候将cs:ip指向循环指令段首地址,即s处。
因此,设置入口参数为bx=offset s.

安装程序:
------------------------------...
阅读全文 | 评论次数(4) | 浏览次数(1652) | 所属类型(汇编作业)

[2009-07-22 03:55] 十二章的学习记录

点击查看原图
一、学习过程中的问题
1、监测点12.1中所问4号中断对应的中断程序入口地址。
   中断号起始为0,依次逐加为序。本处问题中的4号按我理解应该有误,应为3号。
2、12.5节中提到的中断处理程序的编写的常规的步骤:
   保存用到的寄存器——>处理中断——>恢复用到的寄存器——>用
   iret指令返回。
   这里所说的“常规步骤”的理解:对于0号中断,对应为除法溢出。而除法溢出最终会直接返回dos,即0号中断程序的结尾必定是“mov
 ax,4c00h/int 21h。而如上所说的常规的步骤对于1号单步中断是否适用呢?那就去debug一下吧。
   参照附图,先用d 0...
阅读全文 | 评论次数(5) | 浏览次数(898) | 所属类型(汇编作业)

[2009-07-19 17:36] 实验十一

assume cs:codesg

data segment
  db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends

codesg segment
start:
  mov ax,data
  mov ds,ax
  mov bx,0
  call letterc

  mov ax,4c00H
  int 21H


letterc:
  mov al,byte ptr ds:[bx]
  add al,0
  je ok
  cmp al,61H
  jb s0 ...
阅读全文 | 评论次数(1) | 浏览次数(590) | 所属类型(汇编作业)

[2009-07-19 17:36] 实验九

assume cs:codesg
data segment
 db 'welcome to masm!'
 db 0ah,24h,71h
data ends

stack segment
 db 32 dup('0')
stack ends

codesg segment
start:  
   mov ax,data
   mov ds,ax
   mov ax,0b800h      ;显示区域段地址
   mov es,ax
   mov bx,0          ;原始字符计数器
   mov bp,0720h      ;显示区域起始偏移地址
 ...
阅读全文 | 评论次数(1) | 浏览次数(754) | 所属类型(汇编作业)

[2009-07-19 17:35] 实验七

assume cs:codesg
data segment
 db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
 db '1985','1986','1987','1988','1989','1990','1991','1992','1993','1994'
 db '1995'

 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
 dd 345980,590827,803530,1183000,184...
阅读全文 | 评论次数(1) | 浏览次数(747) | 所属类型(汇编作业)

[2009-07-16 20:53] 课程设计一

assume cs:codesg
datayear segment
 db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
 db '1985','1986','1987','1988','1989','1990','1991','1992','1993','1994'
 db '1995'
datayear ends

dataincome segment
 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,19751...
阅读全文 | 评论次数(2) | 浏览次数(616) | 所属类型(汇编设计)