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

我的博客

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

[2011-09-02 00:21] DOSBox0.72的使用

点击查看原图
Z:\>mount c c:\asm
将c:\asm文件夹挂载到C盘下,软后
Z:\>C:

C:\>SY11.EXE (SY11.EXE 在我的C:\asm下)...
阅读全文 | 评论次数(5) | 浏览次数(1312) | 所属类型(读书笔记)

[2011-09-01 21:06] BOCHS安装DOS并虚拟出两个软盘

教程里含Bochs-2.3.7.exe,和DOS71_1.IMG和DOS71_2.IMG及文本
安装过程如下: 
1.下载Bochs-2.3.7.exe安装。 

2.下载MS-DOS 7.10 完全安装版,我们只要里面的 
DOS71_1.IMG和DOS71_2.IMG,这是两种dos安装软盘。 
3.在C:\Program Files\Bochs-2.3.7下建了个名为msdos-img的文件夹,把DOS71_1.IMG和DOS71_2.IMG放进去。 

4.建立一个虚拟的C盘,等会dos就安装在c盘 
运行C:\Program Files\Bochs-2.3.7\bx...
阅读全文 | 评论次数(6) | 浏览次数(1993) | 所属类型(读书笔记)

[2011-08-20 17:54] 实验16 编写包含多个功能子程序的中断例程

也记不清调试了多少次,机器重启了多少次,安装后怎么也找不到子程序的偏移地址
安装后程序IP从0200开始,说明后面的子程序偏移地址也是02XX,可是实质子程序标号汇编后只为00XX,不像是偏移地址倒像是偏移量!
assume cs:code

code segment

;新的int 7ch中断例程

s:   jmp short set

table    dw sub1+200h,sub2+200h,sub3+200h,sub4+200h

set: push bx

     cmp ah,3           ;判断ah中的功能号是否大于3

    ...
阅读全文 | 评论次数(3) | 浏览次数(962) | 所属类型(读书笔记)

[2011-08-16 11:35] 实验15 安装新的int9中断例程

在DOS下,按下“A”键后除非不再松开,如果松开就显示满屏幕的“A”;其他键照常处理。
程序如下:
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start: mov ax,stack
       mov ds,ax
       mov sp,128
       
       push cs
       pop ds
       mov si,offset int9 ;设置指向源地址
       
       mov ax,0
       mov es,ax...
阅读全文 | 评论次数(4) | 浏览次数(934) | 所属类型(读书笔记)

[2011-08-15 23:08] 第十五章 外中断

本章的知识点不多,(1)但int9程序还是让我晕头转向,(2)最后在实验15中,因无法显示结果又让我找不得不另外想办法,装个纯DOS我没那功夫,只好装了个DOSBox 0.72;(3)因为pop写成push,调试结果又让我百思不得其解.以上三点让我郁闷了快一周时间。不过还是挺过来啦,下面知识点总结下吧
1、CPU通过端口和外设进行联系。(概念性知识!)
2、可屏蔽中断和不可屏蔽中断
   可屏蔽中断CPU响不响应中断主要看IF,IF=0不响应可屏蔽中断;
    IF=1响应可屏蔽中断。
  不可屏蔽中断即CPU必须响应的外中断,其中断类型码固定为2。
3、断码=通码+80H(按下...
阅读全文 | 评论次数(4) | 浏览次数(924) | 所属类型(读书笔记)

[2011-08-11 11:20] 与实验14相关的程序

以下这个程序是chinatree不知道从哪找来的我修改后感觉这个程序有借鉴的地方,所以贴到我这里 有空时来复习复习 
code segment  
assume cs:code  
db 9,8,7,4,2,0 
 db "// :: "  
aaaa db 80 dup (0);定义80个符,正好一行  
 Db "$"   
sta: mov ax,cs 
mov ds,ax  
mov dx,offset aaaa  
xor si,si  
mov di,0ch ;mov di,0ch 这个看了半天才知道是aaaa 的偏移地址 可以写成: mov di,offse...
阅读全文 | 评论次数(4) | 浏览次数(935) | 所属类型(读书笔记)

[2011-08-11 11:13] 实验14 访问CMOS RAM

只要理解了in out实验14就不难了
assume cs:code,ds:data
data segment
s1 db 9,8,7,4,2,0
s2 db '// ::'
data ends
code segment
start:mov ax,data
      mov ds,ax
      mov cx,6
      mov si,0
      mov di,0
      mov bx,0b800h
      mov es,bx
      mov bx,offset s2 
     
 s:  mov al,BYTE ptr ds:[si]...
阅读全文 | 评论次数(7) | 浏览次数(972) | 所属类型(读书笔记)

[2011-08-11 10:38] 第十四章 端口

1、CPU可以直接读写3个地方的数据
(1) CPU内部的寄存器
(2)内存单元
(3)端口
2、CPU最多可定位64K个不同的端口,则端口地址的范围为:0~65535
3、in out指令意思!(重点)
访问端口时用al,ax;端口号放在DX 这两者不要混淆
in是从端口读入一个字节 out是向端口写一个字节
3、CPU对CMOSRAM的2号单元的读写分两步进行
(1)将2送入端口70H mov al,2;out 70h,al
(2)从71H读出2号单元的内容 in al,71h
(这里对in和out有点晕乎 英文中in有在内的意思out有出来在外面的意思,这里读出来用...
阅读全文 | 评论次数(2) | 浏览次数(885) | 所属类型(读书笔记)

[2011-08-08 21:41] 实验13 编写、应用中断例程

第十三章只有四、五内容 我却花了三四天的功夫,几个中断例程总是记不住,在写的时候断断续续的,不过还好 总算记住啦 (曾经有人说过:实在不行就死记住某些知识也不失为一个好办法!)
(1)编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处
assume cs:code,ds:data
data segment
db'welcome to masm1!',0
data ends
code segment
start: mov ax,cs
       mov ds,ax
       mov si,offset do0
       
...
阅读全文 | 评论次数(2) | 浏览次数(987) | 所属类型(默认类型)

[2011-08-08 21:07] 第十三章 int指令

1、int指令 n为类型中断码
CPU执行int指令过程如下:
(1)取中断类型码n
(2)标志寄存器入栈,IF=0,TF=0
(3)CS、IP入栈
(4)(IP)=(n*4),CS=(n*4+2)

2、死记以下程序段!!
(1)第10号中断例程的2号子程序(功能:设置光标位置)(5句)
mov ah,2 设置光标
mov bh,0  页数
mov dh,5 行数
mov dl,12 列数
int 10h
(2)第10号中断例程的9号子程序 (功能:在光标位置显示字符)(6句)
mov ah,9  置光标位置显示字符
mov al,'a' 要显示的字符
mo...
阅读全文 | 评论次数(1) | 浏览次数(858) | 所属类型(默认类型)
『 查看更多文章 』