除了TC.EXE外,必须用到的相关文件有5个,分别是:
COS.OBJ
EMU.LIB
MATHS.LIB
GRAPHICS.LIB
CS.LIB...
[2013-04-25 10:08] 研究试验1 搭建一个精简的C语言开发环境
阅读全文 |
评论次数(0) |
浏览次数(567) |
所属类型(汇编作业)
[2013-04-24 21:20] 课程设计2
assume cs:code
code segment
start: jmp short install
;; diska db 'Congratulations To Write Disk Success!!!',0
;diskb db 'Sorry Write Disk Failure!!!',0
;---------------安装程序----------------
;安装程序: 将代码写入A盘0面0道1扇区开始的扇区内.
;操作成功: (ah)=0,(al)=写入的扇区数...
code segment
start: jmp short install
;; diska db 'Congratulations To Write Disk Success!!!',0
;diskb db 'Sorry Write Disk Failure!!!',0
;---------------安装程序----------------
;安装程序: 将代码写入A盘0面0道1扇区开始的扇区内.
;操作成功: (ah)=0,(al)=写入的扇区数...
阅读全文 |
评论次数(0) |
浏览次数(608) |
所属类型(汇编作业)
[2013-04-12 23:38] 主引导扇区的读取流程
系统开机或者重启。
1.BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。
2.读取主引导记录(MBR)。当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。
3.检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于55AAH,若不等于则转去尝试其他启动设...
1.BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。
2.读取主引导记录(MBR)。当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。
3.检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于55AAH,若不等于则转去尝试其他启动设...
阅读全文 |
评论次数(0) |
浏览次数(596) |
所属类型(汇编笔记)
[2013-04-12 19:50] 17。3字符串输入
assume cs:code
code segment
start: mov ax,2000h
mov ds,ax
mov si,0
mov dl,0
mov dh,20
call getstr
mov ax,4c00h
int 21h
;子程序:完整接受字符串
getstr: push ax
getstrs: mov ah,0
int 16h
cmp al,20h
jb nochar ;ASCII码小于20H,说明输入的不是字符。
...
code segment
start: mov ax,2000h
mov ds,ax
mov si,0
mov dl,0
mov dh,20
call getstr
mov ax,4c00h
int 21h
;子程序:完整接受字符串
getstr: push ax
getstrs: mov ah,0
int 16h
cmp al,20h
jb nochar ;ASCII码小于20H,说明输入的不是字符。
...
阅读全文 |
评论次数(0) |
浏览次数(604) |
所属类型(汇编笔记)
[2013-04-12 14:26] 实验17
;安装INT7CH中断例程,实现通过逻辑扇区号对软盘进行读写
;参数:1)用AH传递功能号:0表示读,1表示写;
; 2)用DX传递读写的扇区的逻辑扇区号;
; 3)用ES:BX指向存储读出数据或写入数据的内存区;
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset int7c
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset int7cend - offset ...
;参数:1)用AH传递功能号:0表示读,1表示写;
; 2)用DX传递读写的扇区的逻辑扇区号;
; 3)用ES:BX指向存储读出数据或写入数据的内存区;
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset int7c
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset int7cend - offset ...
阅读全文 |
评论次数(0) |
浏览次数(595) |
所属类型(汇编作业)
[2013-04-10 16:47] 实验16
;程序1
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset setscreen
mov ax,0
mov es,ax
mov di,200h
mov cx,offset screenend - offset setscreen
cld
rep movsb
;以上为安装程序
cli
mov word ptr es:[7ch*4],0
mov word ptr es:[7ch*4+2],20...
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset setscreen
mov ax,0
mov es,ax
mov di,200h
mov cx,offset screenend - offset setscreen
cld
rep movsb
;以上为安装程序
cli
mov word ptr es:[7ch*4],0
mov word ptr es:[7ch*4+2],20...
阅读全文 |
评论次数(0) |
浏览次数(614) |
所属类型(汇编作业)
[2013-04-10 16:42] 第16章 直接定址表
1.标号(带冒号):在汇编源程序中,除了汇编指令和伪指令外,还有一些标号,比如“code",一个标号指代了一个地址。
比如code在segment的前面,作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的地址。
像我们原来用过的code\a\b\start\s等标号,仅仅表示了内存单元的地址。
使用范围:只能在代码段中使用,不能在其他段中使用。
2.数据标号(不带冒号):除了上述标记存储数据的单元的地址外还标记了其它长度。
例如:code segment
a db 1,2,3,4,5,6,7,8
b dw 0
code ends
标号a:...
比如code在segment的前面,作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的地址。
像我们原来用过的code\a\b\start\s等标号,仅仅表示了内存单元的地址。
使用范围:只能在代码段中使用,不能在其他段中使用。
2.数据标号(不带冒号):除了上述标记存储数据的单元的地址外还标记了其它长度。
例如:code segment
a db 1,2,3,4,5,6,7,8
b dw 0
code ends
标号a:...
阅读全文 |
评论次数(0) |
浏览次数(607) |
所属类型(汇编笔记)
[2013-04-10 16:11] 第15章 外中断
本章解决两个问题:一是外设的输入随时可能发生,CPU如何得知?二是CPU从何处得到外设的输入。
第一个问题:CPU通过端口和外部设备进行联系。CPU<->port<->芯片<->外设
第二个问题:CPU提供中断机制来满足这种需要。当CPU外部有需要处理的事情发生的时候,比如外设的输入到达
相关芯片将向CPU发出相应的中断信息。CPU在执行完当前指令后,可以检测到发送过来的中断信息,引发中断过程
处理外设输入。
1.中断包含内中断和外中断。
内中断在CPU内部产生,有4种情况:除法错误、单步执行、执行INTO指令、执行INT指令时将产生相应的中断信息。
外中断是从外部向CP...
第一个问题:CPU通过端口和外部设备进行联系。CPU<->port<->芯片<->外设
第二个问题:CPU提供中断机制来满足这种需要。当CPU外部有需要处理的事情发生的时候,比如外设的输入到达
相关芯片将向CPU发出相应的中断信息。CPU在执行完当前指令后,可以检测到发送过来的中断信息,引发中断过程
处理外设输入。
1.中断包含内中断和外中断。
内中断在CPU内部产生,有4种情况:除法错误、单步执行、执行INTO指令、执行INT指令时将产生相应的中断信息。
外中断是从外部向CP...
阅读全文 |
评论次数(0) |
浏览次数(608) |
所属类型(汇编笔记)
[2013-04-07 17:17] 检测点16.2
assume cs:code,es:data
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start: mov ax,data
mov es,ax
mov si,0
mov cx,8
s: mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start...
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start: mov ax,data
mov es,ax
mov si,0
mov cx,8
s: mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(591) |
所属类型(汇编作业)
[2013-04-07 16:59] 检测点16.1
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start: mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b,ax
adc word ptr b[2],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start...
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start: mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b,ax
adc word ptr b[2],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(610) |
所属类型(汇编作业)
『 查看更多文章 』