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

我的博客

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

[2009-11-22 23:17] 第十六章 直接定址表

assume cs:code,ds:data
data segment
menu  dw sub1,sub2,sub3;等同offset sub1............
menu1 dd sub1,sub2,sub3;等同offset sub1,seg sub1...
data ends

code segment 
start:
.
.
.
sub1:
.
.
.
sub2:
.
.
code ends
end start
拿来调调还差不多,这代码根本就不用写,都现成的。这几章都这个样子,郁闷。

阅读此章获得经验值+10
阅读此章获得悟  性...
阅读全文 | 评论次数(0) | 浏览次数(668) | 所属类型(《汇编语言》第二版)

[2009-11-21 13:43] 第十五章 外中断

1.断码=通码+80h,长度1b,断码第七位为1,通码为0

2.不可屏蔽中断,类型码固定为2,CPU必须响应

3.sti,cli,外设中断基本为可屏蔽中断

4.BIOS中Int 9,用来键盘输入处理,工作如下:
  读出60h端口中断扫描码
  如是字符键扫描码,则把该扫描码和对应的ASC码送入内存中的BIOS键盘缓冲区;如是控制键的,则转换为状态字节,送入相应的存储空间
  对键盘系统进行相关的控制
  键盘缓冲区15b
  高字节扫描码,低字节ASC码
  0040:17为键盘状态存储单元 

5.模拟调用中断是,必须在重定位地址前CLI,定位后STI. ...
阅读全文 | 评论次数(0) | 浏览次数(547) | 所属类型(《汇编语言》第二版)

[2009-11-20 21:12] 第十四章 端口

1.CPU把接口芯片的寄存器当作端口,进行统一编址

2.CPU可以直接读写以下3个地方的数据
  CPU内部的寄存器
  内存单元
  端口

3.CPU最多定位64KB个不同的端口,端口范围0-0FFFFH

4.端口读写指令只有两条:IN从端口读取,OUT向端口写入

5.IN,OUT用法:访问8位端口用AL,访问16位端口用AX
  in al,20h  ;从20H端口取数据
  out 20h,al ;向20H端口写数据
注:当端口号>=100H,则端口号放入DX中      

6.CPU执行内存访问指令的工作顺序:
  CPU通过地址线将地址信息...
阅读全文 | 评论次数(0) | 浏览次数(592) | 所属类型(《汇编语言》第二版)

[2009-11-19 22:31] 第十三章 int指令

中断过程由硬件执行,步骤:
    1.取得中断类型码n
    2.pushf
   3.clt  cli?(大概没这条指令)
   4.Push cs,push ip
   5.(ip)=(n*4),(cs)=(n*4+2)

规定使用int 配合iret,如同 call配合ret/retf 
,汇编语言编程,强调语法规则,其次再考虑技巧   

------------------------------------------------------
实验13 编写应用中断例程
1.编写安装 int7ch中断例程,功能为显示已个用0结尾的字符串。
data s...
阅读全文 | 评论次数(0) | 浏览次数(641) | 所属类型(《汇编语言》第二版)

[2009-11-16 23:04] 第十二章 内中断

assume cs:code
code segment
        jmp short codeing
string:        db 'divde overflow!'
        
codeing:
        mov ax,0b810h
        mov es,ax
        mov di,0
        mov ax,cs
        mov ds,ax
        mov si,offset string
        mov ah,0                
        mov cx,15
divloop:
        mov al,[si]
        mov es:[di],ax
        add di,2
        inc si
        loop divloop
        
        mov ax,4c00h
        i...
阅读全文 | 评论次数(2) | 浏览次数(551) | 所属类型(《汇编语言》第二版)

[2009-11-15 18:17] 第十一章 标志寄存器

cf:进位/借位标志位,与无符号数相关。
pf:奇偶标志位,记录结果的所有BIT位中1的个数。如1的个数为偶,置1.
af

zf:记录相关指令执行后,计算结果是否为0,为零置1;不为0,置0.

sf:符号标志位,结果为负,置1.与有符号数相关。无符号数也影响   sf,但无关紧要。

tf
if
df:方向标志位,在串处理指令中,控制si,di的增减。df=0,递增
     
of:溢出标志位,溢出置1.与有符号数相关。无符号数的影响与之无关
------------------------------------------------------
CF,P...
阅读全文 | 评论次数(2) | 浏览次数(305) | 所属类型(《汇编语言》第二版)

[2009-11-14 14:41] 第十章 CALL和RET指令

1.ret相当于pop ip;retf相当于pop ip,pop cs

2.call 标号  相当于压入下条指令的IP:push ip ,jmp 标号
  call dword ptr = call far ptr相当于 PUSH CS,PUSH IP 
  call word ptr = call 16reg相当于 push ip,jmp 16reg

3.CALL 个 RET/RETF 成队出现

4.CALL指令不能短转移,指令格式只能是 CALL REG,CALL [ADDR];
在汇编指令中,标号==内存单元[addr];CALL 标号 = CALL [ADDR]...
阅读全文 | 评论次数(2) | 浏览次数(450) | 所属类型(《汇编语言》第二版)

[2009-11-13 20:58] 第九章 转移指令的原理

1.在MASM5.0中JMP格式:
JMP REG / JMP [ADDR]
JMP SHORT 标号   
JMP NER PTR 标号=JMP WORD PTR [ADDR]
JMP FAR PTR 标号 = JMP 1122:3344 机器码 EA 4433 2211
                = JMP DWORD PTR [ADDR]
JMP SHORT PTR 标号--错误?

2.所有条件转移指令都是短转移-128~127

3.JCXZ指令的涵义: if((cx)==0) jmp short 标号; 
------------------------...
阅读全文 | 评论次数(2) | 浏览次数(242) | 所属类型(《汇编语言》第二版)

[2009-11-13 13:12] 第八章 数据处理的两个基本问题

实验七

assume cs:code,ds:data,es:table  
data segment  
year         db '1975','1976','1977','1978','1979','1980','1981','1982','1983'  
             db '1984','1985','1986','1987','1988','1989','1990','1991','1992'  
             db '1993','1994','1995'  
salary          dd 16,22,382,1356,2390,8000,16000,24486,50065,9747...
阅读全文 | 评论次数(2) | 浏览次数(269) | 所属类型(《汇编语言》第二版)

[2009-11-13 11:22] 第七章 更灵活的定位内存地址的方法

编程,将data段中的每个字符串的前4个字母改为大写

assume cs:code,ss:stack

stack segment
        dw 0,0,0,0,0,0,0,0
stack ends

data segment
        db '1. display      '
        db '2. brows        '
        db '3. replace      '
        db '4. modify       '
data ends

code segment
start:        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,a...
阅读全文 | 评论次数(2) | 浏览次数(259) | 所属类型(《汇编语言》第二版)
页码数(2):  1  2