


- [tily] 我买了本linux的shell编程 但一直没学下去 书丢在一边啦 等看完这个汇编了 再去看看吧 09/27 00:42
- [tily] 也许是兄弟我理解能力有限 呵呵 还是很感谢大家 09/26 22:15
- [tily] 哈哈 嗯 的确chaplinyip说的对的 所以我给他分了 呵呵 你说的云里雾里的 我就没给你分了 09/26 22:13
- [rotapple] 嗯。我后来看了。 真对不起chaplinyip啊。。 哈哈。误会他了。 09/26 11:20
- [rotapple] 呵呵,传到csdn了,我用手机在那从来没能下载过东西,还得扣我分,真郁闷。不过要谢谢楼主,好人呀。我 09/26 11:20
- [tily] vmware的确很好用,但是vmware不能同时虚拟两个软盘的。上次我在论坛提问的inc top,d 09/19 08:10
- [rotapple] 我直接就是用的vmware,很好用。。。 就没安一堆其它东西了。 另外,上次你在论坛问的关于inc 09/06 10:43
- [chinatree] 呵呵。一定。 09/02 01:11
- [tily] 呵呵 需要下载CSDN或豆丁网上的资料,可以直接找我哦 09/02 00:49
- [chinatree] 呵呵,传到csdn了,我用手机在那从来没能下载过东西,还得扣我分,真郁闷。不过要谢谢楼主,好人呀。我 09/02 00:34
[2011-09-02 00:21] DOSBox0.72的使用
Z:\>mount c c:\asm
将c:\asm文件夹挂载到C盘下,软后
Z:\>C:
C:\>SY11.EXE (SY11.EXE 在我的C:\asm下)...
将c:\asm文件夹挂载到C盘下,软后
Z:\>C:
C:\>SY11.EXE (SY11.EXE 在我的C:\asm下)...
阅读全文 |
评论次数(5) |
浏览次数(1375) |
所属类型(读书笔记)
[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...
安装过程如下:
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) |
浏览次数(2107) |
所属类型(读书笔记)
[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
...
安装后程序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) |
浏览次数(1033) |
所属类型(读书笔记)
[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...
程序如下:
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) |
浏览次数(1019) |
所属类型(读书笔记)
[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(按下...
1、CPU通过端口和外设进行联系。(概念性知识!)
2、可屏蔽中断和不可屏蔽中断
可屏蔽中断CPU响不响应中断主要看IF,IF=0不响应可屏蔽中断;
IF=1响应可屏蔽中断。
不可屏蔽中断即CPU必须响应的外中断,其中断类型码固定为2。
3、断码=通码+80H(按下...
阅读全文 |
评论次数(4) |
浏览次数(1012) |
所属类型(读书笔记)
[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...
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) |
浏览次数(1021) |
所属类型(读书笔记)
[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]...
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) |
浏览次数(1009) |
所属类型(读书笔记)
[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有出来在外面的意思,这里读出来用...
(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) |
浏览次数(959) |
所属类型(读书笔记)
[2011-08-03 12:24] 实验12 编写0号中断的处理程序
显示“overflow!”这个字符串显示程序放在0000:0200处,然后将中断程序的入口改成0000:0200 (原0号中断入口地址在0000:0000处)这样说来只要做三件事就可以啦:
1、编写显示“overflow!”的子程序do0
2、将子程序do0放到0000:0200程序中保存着 (一旦发生中断就调用)
3、将0000:0200这个首地址放入0000:0000(0号中断的首地址里)
这样一旦发生0中断 就会找到0000:0000号程序入口,找到0000:0000号地址又转向0000:0200号地址,0000:0200号地址的内容是显示“overflow!”的子程序 ...
1、编写显示“overflow!”的子程序do0
2、将子程序do0放到0000:0200程序中保存着 (一旦发生中断就调用)
3、将0000:0200这个首地址放入0000:0000(0号中断的首地址里)
这样一旦发生0中断 就会找到0000:0000号程序入口,找到0000:0000号地址又转向0000:0200号地址,0000:0200号地址的内容是显示“overflow!”的子程序 ...
阅读全文 |
评论次数(0) |
浏览次数(643) |
所属类型(读书笔记)
[2011-08-03 12:19] 第十二章 内中断
1、 (一个字节) 标识
中断内型码-------中断源(256种中断源)
|
|通过中断向量表
中断处理程序入口
2、中断向量表放在内存地址0处,从内存0000:0000到0000:03ff的1024个单元中存放着。
3、一个表项存放一个中断向量,也就是一个中断处理程序的入口地址,这个入口地址包括段地址和偏移地址,所以一个表项占两个字节,高地址存放段地址,低地址存放偏移地址。
4、中断过程:
(1)取得中断内型码N
(2)pushf
(3)TF=0;IF=0
(4)push cs
(5)push ip
(6)(ip)=(N*...
中断内型码-------中断源(256种中断源)
|
|通过中断向量表
中断处理程序入口
2、中断向量表放在内存地址0处,从内存0000:0000到0000:03ff的1024个单元中存放着。
3、一个表项存放一个中断向量,也就是一个中断处理程序的入口地址,这个入口地址包括段地址和偏移地址,所以一个表项占两个字节,高地址存放段地址,低地址存放偏移地址。
4、中断过程:
(1)取得中断内型码N
(2)pushf
(3)TF=0;IF=0
(4)push cs
(5)push ip
(6)(ip)=(N*...
阅读全文 |
评论次数(0) |
浏览次数(390) |
所属类型(读书笔记)