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

我的博客

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

[2015-07-08 22:52] 第14章:端口

第一个程序是自己写的,没有使用字符串,显得不够简洁。
;-----------------------------------------------------------
;实验14:以“年/月/日  时:分:秒“的格式,显示当前的日期、时间。
;思路:直接读取CMOS中的端口号,调用子程序,单独打印显示符。
;-----------------------------------------------------------

assume cs:code


code segment

        mov ax,0b800H
        mov ds,ax        
        mov di,1...
阅读全文 | 评论次数(0) | 浏览次数(736) | 所属类型(汇编作业)

[2015-07-08 22:49] 第14章:端口

;----------------------------------------------
;检测点14.1:编程,读取CMOS RAM的2号单元的内容。
;             编程,向CMOS RAM的2号单元写入0。
;----------------------------------------------

assume cs:code


code segment

        ;读取
        mov al,2
        out 70H,al
        in al,71H
        
        ;写入
        mov al,2
        out 70H,al
        mov al,0
        out 71H,al
        i...
阅读全文 | 评论次数(0) | 浏览次数(737) | 所属类型(汇编作业)

[2015-07-08 22:47] 第14章:端口

一、端口
三种芯片:接口卡(如网卡显卡)、主板上(如软驱硬驱)、其他芯片(如CMOS)。
共同点:和CPU的总线相连;CPU通过控制总线向芯片发出端口读写命令。
端口地址:CPU将芯片内部的寄存器都当作端口,对它们进行统一编址,从而建立了一个统一的端口地址空间。
CPU直接读写范围:CPU内部寄存器、内存单元、端口。

二、端口读写
范围:端口地址通过地址总线传送,最多有64KB个不同端口,地址范围为0~65535。
CPU访问端口:CPU通过地址总线将地址信息发出→通过控制总线发出端口读命令→端口所在的芯片将选中的端口数据通过数据总线送入CPU。
in/out指令:①8位端...
阅读全文 | 评论次数(0) | 浏览次数(765) | 所属类型(学习笔记)

[2015-07-06 23:43] 第13章:实验13

;----------------------------------------------------------
;实验13:(1)编写并安装7cH中断例程,显示一个用0结束的字符串。
;----------------------------------------------------------

assume cs:code


code segment

        mov ax,cs
        mov ds,ax
        mov si,offset showstr                        ;中断源地址
        mov ax,0
        mov es,ax
        mov di,200H                                ;0:200 ...
阅读全文 | 评论次数(0) | 浏览次数(759) | 所属类型(汇编作业)

[2015-07-06 23:41] 第13章:检测点

(13.1)
(1)在上面的内容中,我们用7ch中断例程实现loop的功能,则上面的7ch中断例程所能进行的最大转移位移是多少?
答:题中用BX存放位移,作为16位有符号数,其取值范围为-32768~32767,且题中是向前转移,则BX是负值,所以其最大转移位移是-32768(即向前转移32768)。
(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。应用举例:在屏幕的第12行,显示data段中以0结尾的字符串。
assume cs:code


data segment

        db 'conversation',0
        
dat...
阅读全文 | 评论次数(0) | 浏览次数(805) | 所属类型(汇编作业)

[2015-07-06 23:38] 第13章:int指令

一、int指令
功能:执行int n指令,相当于引发一个n号中断的中断过程。
中断例程:系统将一些具有一定功能的子程序,以中断例程的方式提供给应用程序。
实质:int n/iret和call/ret很相似,都是调用一段程序;编写的过程要避免寄存器冲突。
栈:可以在中断例程中修改栈中数据,从而改变主程序的执行顺序。

二、BIOS和DOS
BIOS:①硬件系统的检测和初始化程序;②外部中断和内部中断的中断过程;③用于对硬件设备进行I/O操作的中断例程;④其他和硬件系统相关的中断例程。
安装过程:开机后从FFFF:0执行程序(跳转到BIOS的①)→建立BIOS的中断向量(中断例程固...
阅读全文 | 评论次数(0) | 浏览次数(767) | 所属类型(学习笔记)

[2015-07-02 14:18] 实验12:编写0号中断的处理程序

;-----------------------------------------------------------
;实验12:编写0号中断的处理程序,使得在除法溢出发生时,在屏幕
;中间显示字符串“divide error!“,然后返回DOS。
;------------------------------------------------------------

assume cs:code


code segment

        ;将中断代码送入内存
start:        mov ax,cs
        mov ds,ax
        mov si,offset do0                        ;中断代码...
阅读全文 | 评论次数(0) | 浏览次数(774) | 所属类型(汇编作业)

[2015-07-02 14:17] 第12章:检测点

(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号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为0:4N,段地址的内存单元的地址为0:4N+2。...
阅读全文 | 评论次数(0) | 浏览次数(683) | 所属类型(汇编作业)

[2015-07-02 14:16] 第12章:内中断

一、基本概念
中断信息:检测从CPU外部或内部产生的一种特殊信息并能立即对此信息进行处理;要求CPU马上进行处理,并向所要进行的该种处理提供了必备的参数的通知信息。
中断:CPU不再接着(刚执行完的指令)向下执行,而是转去处理中断信息。
中断类型码:标识中断信息的来源(中断源),字节型数据,可以表示256种中断信息的来源。
内中断:①除法错误-0;②单步执行-1;③执行into指令-4;④执行int指令-n。
中断处理程序:处理中断信息的程序;根据中断类型码找到对应的中断处理程序。
中断向量表:①中断向量——中断处理程序的入口地址;IP-低地址+CS-高地址。②向量表——中断向量的...
阅读全文 | 评论次数(0) | 浏览次数(751) | 所属类型(学习笔记)

[2015-06-27 09:54] 实验11:编写子程序

;----------------------------------------------------------------
;将datasg段中字符串的小写字母转变成大写字母。
;----------------------------------------------------------------

assume cs:codesg


datasg segment

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


codesg segment
...
阅读全文 | 评论次数(0) | 浏览次数(730) | 所属类型(汇编作业)
『 查看更多文章 』