assume cs:code
code segment
daima:jmp ss1
table dw sub1,sub2
ss1:push ax
push bx
cmp ah,3
ja done
mov bx,0
mov bl,ah
add bl,bl
call word ptr table[bx]
done:
pop bx
pop ax
iret
;清屏代码
sub1:
push ax
push es
push si
push cx
mov ax,0b800h
mov es,ax
mov si,0
mov cx,2000...
- [游客] 好! 07/18 08:52
- [xiaomk7758] 顶 07/17 12:52
- [black] en 要是存储的是绝对地址呢? 想过没 05/11 13:51
- [游客] ESC 05/08 13:44
- [black] 恩,挺好,继续学习 05/08 09:10
- [black] 不错 05/07 19:01
- [ppt] 在实现功能的前提下精简一下程序. 04/28 20:49
- [240420643] 看看我的,用到了循环和jcxz http://www.asmedu.net/blog/user/p 04/27 18:22
- [starrynight] 结果怎么保证正确,有进位怎么办 ---------------------------- 如果 04/26 23:27
- [yigeling] 写的不错 04/26 23:26
[2008-05-11 12:08] 实验16
阅读全文 |
评论次数(1) |
浏览次数(617) |
所属类型(汇编作业)
[2008-05-07 18:59] 实验15安装新的int9中断程序
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx, offset int9end-offset int9
cld
rep movsb
;
push es:[9*4]
pop es:[200h]
push es:[9*4+2]
pop...
stack segment
db 128 dup(0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx, offset int9end-offset int9
cld
rep movsb
;
push es:[9*4]
pop es:[200h]
push es:[9*4+2]
pop...
阅读全文 |
评论次数(1) |
浏览次数(626) |
所属类型(汇编作业)
[2008-05-07 18:45] 15。5 按ESP改色彩
;安装新的int9中断例程
;功能如下,按下F!时屏幕的改变色彩,按其他的键照常处理
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx, offset int9end-offset int9
cld
rep movsb
;
push ...
;功能如下,按下F!时屏幕的改变色彩,按其他的键照常处理
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx, offset int9end-offset int9
cld
rep movsb
;
push ...
阅读全文 |
评论次数(2) |
浏览次数(617) |
所属类型(汇编作业)
[2008-04-26 21:24] 实验14访问CMOS RAM
assume cs:code
code segment
start:
mov bx,0b800h
mov es,bx
mov di,160*11+30
;年
mov al,9
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov byte ptr es:[di],ah
mov byte ptr es:[di+1],2
mov byte ptr es:[di+2],al
mov byte ptr es:[di+3],2
;...
code segment
start:
mov bx,0b800h
mov es,bx
mov di,160*11+30
;年
mov al,9
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov byte ptr es:[di],ah
mov byte ptr es:[di+1],2
mov byte ptr es:[di+2],al
mov byte ptr es:[di+3],2
;...
阅读全文 |
评论次数(3) |
浏览次数(660) |
所属类型(汇编作业)
[2008-04-26 21:23] 检测点14.2
;结果怎么保证正确,有进位怎么办
assume cs:code
code segment
start:
mov bx,bx
shl ax,1
mov cl,3
shl bx,cl
adc ax,bx
code ends
end start...
assume cs:code
code segment
start:
mov bx,bx
shl ax,1
mov cl,3
shl bx,cl
adc ax,bx
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(631) |
所属类型(汇编作业)
[2008-04-26 21:23] 检测点14.1
(1) 编程:读取CMOS RAM的2号单元内容
assume cs:code
code segment
start:
mov al,2
out 70h,al
in ax,71h
mov ah,4ch
int 21h
code ends
end start
(2) 向 cmosRAM 的2号单元写入0
assume cs:code
code segment
start:
mov al,2
out 70h,al
mov al,0
out 71h,al
mov ah,4ch
int 21h
code ends
end start...
assume cs:code
code segment
start:
mov al,2
out 70h,al
in ax,71h
mov ah,4ch
int 21h
code ends
end start
(2) 向 cmosRAM 的2号单元写入0
assume cs:code
code segment
start:
mov al,2
out 70h,al
mov al,0
out 71h,al
mov ah,4ch
int 21h
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(717) |
所属类型(汇编作业)
[2008-04-25 17:27] 实验13 编写,应用中断程序
1
;编写。应用中断例程
assume cs:code
code segment
;参数 DH行号,DL 列号,CL 颜色,DS:SI 指向字符串首地址
start:
;安装
mov ax,cs
mov ds,ax
mov si,offset zhongduan
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset ez-offset zhongduan
cld
rep movsb
;置向量表
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr ...
;编写。应用中断例程
assume cs:code
code segment
;参数 DH行号,DL 列号,CL 颜色,DS:SI 指向字符串首地址
start:
;安装
mov ax,cs
mov ds,ax
mov si,offset zhongduan
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset ez-offset zhongduan
cld
rep movsb
;置向量表
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr ...
阅读全文 |
评论次数(1) |
浏览次数(516) |
所属类型(汇编作业)
[2008-04-25 11:16] 检测点13.2
1. 不对的。
2. int 19h调用时,还没有进入系统!向量表中没有系统提供的中断向量
13.6 BIOS中断例程应用
Int 10h中断例程!!
编程:在屏幕的第5 行第12 列显示3个红底高亮闪熌绿色的‘a’
assume cs:code
code segment
start:
mov ah,2
mov bl,0
mov dh,10
mov dl,0
int 10h
mov ah,9
mov al,'a'
mov bl,11001010b
mov cx,80
int 10h
mov ah,4ch
int 21h
code ends
end st...
2. int 19h调用时,还没有进入系统!向量表中没有系统提供的中断向量
13.6 BIOS中断例程应用
Int 10h中断例程!!
编程:在屏幕的第5 行第12 列显示3个红底高亮闪熌绿色的‘a’
assume cs:code
code segment
start:
mov ah,2
mov bl,0
mov dh,10
mov dl,0
int 10h
mov ah,9
mov al,'a'
mov bl,11001010b
mov cx,80
int 10h
mov ah,4ch
int 21h
code ends
end st...
阅读全文 |
评论次数(1) |
浏览次数(471) |
所属类型(汇编作业)
[2008-04-25 11:15] 检测 点13。1
1. 一个段cs:0000h~cs:ffffh
Ip的最大相对位移是:ffffh
2. assume cs:code
data segment
db 'canversation',0
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,12*160
s:
cmp byte ptr [si],0
je ok
mov al,[si]
mov es:[di],al
mov byte ptr es:[di+1],2
inc...
Ip的最大相对位移是:ffffh
2. assume cs:code
data segment
db 'canversation',0
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,12*160
s:
cmp byte ptr [si],0
je ok
mov al,[si]
mov es:[di],al
mov byte ptr es:[di+1],2
inc...
阅读全文 |
评论次数(1) |
浏览次数(519) |
所属类型(汇编作业)
[2008-04-25 11:14] 实验12 编写0号中断的处理程序
实验12 编写0号中断的处理程序
assume cs:code
code segment
begin:
mov ax,cs
mov ds,ax
mov si,offset chuli
mov ax,0
mov es,ax
mov di,0200h
;向内存0000:0200处写入chuli代码
mov cx,offset chuliend-offset chuli
rep movsb
;设置向量表
mov word ptr es:[0],200h
mov word ptr es:[2],0
mov ah,4ch
int 21h
;溢出处理程序的代码,...
assume cs:code
code segment
begin:
mov ax,cs
mov ds,ax
mov si,offset chuli
mov ax,0
mov es,ax
mov di,0200h
;向内存0000:0200处写入chuli代码
mov cx,offset chuliend-offset chuli
rep movsb
;设置向量表
mov word ptr es:[0],200h
mov word ptr es:[2],0
mov ah,4ch
int 21h
;溢出处理程序的代码,...
阅读全文 |
评论次数(2) |
浏览次数(527) |
所属类型(汇编作业)
『 查看更多文章 』