assume cs:code
code segment
setps:jmp short starp
table dw reads.206h,writes.206h
starp:
push ax ;参数al,ah入栈
mov ax,bx
mov dx,0
mov word ptr cs:[204h],1440
div word ptr cs:[204h] ...
- [游客] 记得书上曾说过,一个数据可以看作是有符号数,也可以看成是无符号数。 add al,'A'-'a' 04/11 21:56
- [游客] 写的不错,直观而易懂、子程序的过程并没有让人难以理解的地方,非常不错。 也分享一个参考例子: l 04/11 21:54
- [游客] 不错,加油。 07/10 17:00
- [rswjf] 谢谢,我把这个知识点给忘了。 07/10 16:58
- [lengxiaoyao] 安装个虚拟软驱就可以测试 jmp word ptr table[bx].206h ,不一定必须 07/10 14:34
- [wsrf] 不错,支持一下。 07/05 11:24
- [游客] 没问题。继续前进。 07/02 08:16
- [rswjf] 谢谢,感觉明了了许多 06/21 01:11
- [游客] 理解的差不多,注意那个call是调用以前的中断例程,而以前的中断例程,而这个中断了例程中肯定有ire 06/20 12:28
- [tomato] 分出两个独立的子程序功能,使程序更加清楚,不错。不过,前边一连串的调用同样也可以简化通用一下。 06/15 15:00
[2009-07-10 12:50] 实验17
阅读全文 |
评论次数(2) |
浏览次数(791) |
所属类型(汇编作业)
[2009-07-08 14:00] 17.3字符串的输入
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ds,ax
mov si,0
mov dh,18
mov dl,0
call chars
mov ax,4c00h
int 21h
;子程序chars
;功能:显示字符串
;参数:ds:si指向字符栈空间首个字符,...
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ds,ax
mov si,0
mov dh,18
mov dl,0
call chars
mov ax,4c00h
int 21h
;子程序chars
;功能:显示字符串
;参数:ds:si指向字符栈空间首个字符,...
阅读全文 |
评论次数(1) |
浏览次数(751) |
所属类型(默认类型)
[2009-07-04 23:54] 实验16
assume cs:code
code segment
;功能0号清屏,1号前景,2号背景,3号向上滚动一行
setscreen:jmp short set
table dw sub1.200h,sub2.200h,sub3.200h,sub4.200h ;功能调用偏移地址列表
;因编译时su1-su4都编译成标号在程序中的偏移地址,而
;这个偏移地址是相对于原来程序起始位置(CS:0)的“相对”偏移,
;复制安装到0:200H后这个“相对”偏移所指向的地址是错的
;因为安装完的中断程序本身起始偏移不是(CS:0),而是(CS:200H),所以 ...
code segment
;功能0号清屏,1号前景,2号背景,3号向上滚动一行
setscreen:jmp short set
table dw sub1.200h,sub2.200h,sub3.200h,sub4.200h ;功能调用偏移地址列表
;因编译时su1-su4都编译成标号在程序中的偏移地址,而
;这个偏移地址是相对于原来程序起始位置(CS:0)的“相对”偏移,
;复制安装到0:200H后这个“相对”偏移所指向的地址是错的
;因为安装完的中断程序本身起始偏移不是(CS:0),而是(CS:200H),所以 ...
阅读全文 |
评论次数(1) |
浏览次数(783) |
所属类型(汇编作业)
[2009-07-01 21:45] 实验15
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offse...
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offse...
阅读全文 |
评论次数(1) |
浏览次数(768) |
所属类型(汇编作业)
[2009-06-19 23:47] 做个笔记
;一直理解不过来,为什么用了连续的两个PUSHF,所以做个笔记,不知道理解的对不对?
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
dw 0,0
data ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
mov ax,data
mov ds,ax
mov ax,0
mov es,ax
...
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
dw 0,0
data ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
mov ax,data
mov ds,ax
mov ax,0
mov es,ax
...
阅读全文 |
评论次数(2) |
浏览次数(741) |
所属类型(默认类型)
[2009-06-14 12:34] 实验14 访问CMOS RAM
assume cs:code
code segment
start: mov al,9
mov di,0
call show_ram ;显示年
mov ah,'/'
add di,4
call show_str ;显示/
mov al,8
add di,2
call show_ram ;显示月
mov ah,'/'
add di,4
call show_str...
code segment
start: mov al,9
mov di,0
call show_ram ;显示年
mov ah,'/'
add di,4
call show_str ;显示/
mov al,8
add di,2
call show_ram ;显示月
mov ah,'/'
add di,4
call show_str...
阅读全文 |
评论次数(1) |
浏览次数(743) |
所属类型(汇编作业)
[2009-06-12 22:33] 实验13 编写、应用中断例程 3
assume cs:code
code segment
s1:db 'Good,btter,best,','$'
s2:db 'Never let it rest,','$'
s3:db 'Till good is better,','$'
s4:db 'And better,best.','$'
s: dw offset s1,offset s2,offset s3,offset s4
row:db 2,4,6,8
start:mov ax,cs
mov ds,ax
mov bx,offset s
mov ...
code segment
s1:db 'Good,btter,best,','$'
s2:db 'Never let it rest,','$'
s3:db 'Till good is better,','$'
s4:db 'And better,best.','$'
s: dw offset s1,offset s2,offset s3,offset s4
row:db 2,4,6,8
start:mov ax,cs
mov ds,ax
mov bx,offset s
mov ...
阅读全文 |
评论次数(1) |
浏览次数(573) |
所属类型(汇编作业)
[2009-06-12 20:19] 实验13 编写、应用中断例程 2
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset copys
mov ax,0
mov es,ax
mov di,200h
mov cx,offset copye-offset copys
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr e...
code segment
start: mov ax,cs
mov ds,ax
mov si,offset copys
mov ax,0
mov es,ax
mov di,200h
mov cx,offset copye-offset copys
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr e...
阅读全文 |
评论次数(1) |
浏览次数(608) |
所属类型(汇编作业)
[2009-06-12 19:30] 实验13 编写、应用中断例程 1
assume cs:code
data segment
db 'WoShiYiZhiXiaoXiaoNiao!',0
data ends
code segment
;------------------安装程序---------------
start:mov ax,cs
mov ds,ax
mov si,offset copys
mov ax,0
mov es,ax
mov di,200h
mov cx,offset copye-offset copys
...
data segment
db 'WoShiYiZhiXiaoXiaoNiao!',0
data ends
code segment
;------------------安装程序---------------
start:mov ax,cs
mov ds,ax
mov si,offset copys
mov ax,0
mov es,ax
mov di,200h
mov cx,offset copye-offset copys
...
阅读全文 |
评论次数(1) |
浏览次数(735) |
所属类型(汇编作业)
[2009-06-09 18:09] 实验12 编写0号中断的处理程序
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0 ;ds:si指向do0首字节
mov ax,0
mov es,ax
mov di,200h ;es:di指向0:200
mov cx,offset do0end-offset do0 ;计算do0代码段的长度,编译器支持的运算
cld
rep movsb ;安装中断代码,即复制
...
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0 ;ds:si指向do0首字节
mov ax,0
mov es,ax
mov di,200h ;es:di指向0:200
mov cx,offset do0end-offset do0 ;计算do0代码段的长度,编译器支持的运算
cld
rep movsb ;安装中断代码,即复制
...
阅读全文 |
评论次数(1) |
浏览次数(551) |
所属类型(汇编作业)
『 查看更多文章 』