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

我的博客

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

[2009-10-25 21:41] 实验17

;安装一个新的中断例程 int 7ch ,实现通过逻辑扇区号对软盘惊醒读写。

;参数ah 功能号,0:读。1:写
;DX要读或写的逻辑扇区号
;ES:BX指向要读的数据或者写入的内存区

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;通用中断安装程序 被安装开始标志install结束标志installend
;安装程序
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset install
mov ax,0
mov es,ax...
阅读全文 | 评论次数(1) | 浏览次数(830) | 所属类型(汇编作业)

[2009-10-17 23:20] 检测点17.1

提问,在int16h中断例程中,一定有设置IF=1的指令,对吗?

回答,对的。
因为,因为我注意到,如果我进行键盘输入的时候,如果输入的过快,或者 在计算机正在相应其他事情的时候进行连续输入的时候,我输入的一些东西会没有及时显示在屏幕上,等计算机反应回来的时候,我那时候输入的东西会一下子全都显示到了屏幕上,感觉是被存到了键盘缓存区,也就是说这个时候,int 16h 被其他的中断程序中断掉了。

看样子,好像 int 16h 运行起来后好像就进入了无限循环的状态,就不会停止了,但是允许其他的程序中断掉他。...
阅读全文 | 评论次数(0) | 浏览次数(604) | 所属类型(汇编作业)

[2009-10-17 01:52] 实验16

;编程:实现一个子程序setscreen,为显示输出提供如下功能:
;(1) 清屏。
;(2) 设置前景色。
;(3) 设置背景色。
;(4) 向上滚动一行。
;
;入口参数说明:
;(1) 用 ah 寄存器传递功能号:0 表示清屏,1表示设置前景色,2表示设置背景色,3 表示向上滚动一行;
;(2) 对于2、3号功能,用 al 传送颜色值,(al) ∈{0,1,2,3,4,5,6,7}


;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;通用中断安装程序 被安装开始标志install结束标志installe...
阅读全文 | 评论次数(0) | 浏览次数(611) | 所属类型(汇编作业)

[2009-10-14 15:59] 检测点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    ;这两个是填空,吧ES制定到DATA
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...
阅读全文 | 评论次数(1) | 浏览次数(955) | 所属类型(汇编作业)

[2009-10-14 15:24] 检测点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,word ptr a[si]
add word ptr b[0],ax
adc word ptr cs:b[2],0
add si,2
loop s

mov ax,4c00h
int 21h

code ends
end start...
阅读全文 | 评论次数(1) | 浏览次数(845) | 所属类型(汇编作业)

[2009-10-14 14:25] 实验15

;松开A的时候出发 全屏输出AAAAAA

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-offset int9
cld
rep movsb

push es:[9*4]
pop es:[200...
阅读全文 | 评论次数(1) | 浏览次数(841) | 所属类型(汇编作业)

[2009-10-13 21:53] 检测点15.1

1,可以精简为:
pushf
call dword ptr ds:[0]


2.修改后的程序为

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


push es:[9*4]
pop ds:[0]
push ...
阅读全文 | 评论次数(0) | 浏览次数(566) | 所属类型(汇编作业)

[2009-10-11 15:56] 实验14

assume cs:code
code segment
start:

mov ax,0b800h
mov es,ax
mov di,160*12       ;初使化一些参数

mov al,9  ;年
out 70h,al
in al,71h
call time
mov ah,47
mov byte ptr es:[di].4,ah

add di,6
mov al,8  ;月
out 70h,al
in al,71h
call time
mov ah,47
mov byte ptr es:[di].4,ah

add di,6
mov al...
阅读全文 | 评论次数(0) | 浏览次数(568) | 所属类型(汇编作业)

[2009-10-11 14:38] 检测点14.2

;用加法和移位指令计算 AX=AX*10
;相当与计算 AX*2+AX*8

assume cs:code
code segment
start:
push bx  ;临时使用
push cx  ;用CL做位移计数器

mov bx,ax    ;把AX的数据复制进BX
shl ax,1     ;ax*2

mov cx,0
mov cl,3     ;CL传递进去3
shl bx,cl    ;bx*8

add ax,bx    ;相加

pop cx
pop bx

mov ax,4c00h
int 21h



code ends ...
阅读全文 | 评论次数(1) | 浏览次数(954) | 所属类型(汇编作业)

[2009-10-11 14:17] 检测点14.1

1读取CMOS ROM 的2号单元的内容

mov ax,0  ; ax清0
mov al,2   
out 70h,al   ;把地址传递进去
in al,71h    ;把数据读出来


2。向CMOS RAM的2号单元写入0
mov ax,0    ;AX清0
mov al,2     
out 70h,al      ;地址传递进去
mov al,0       ;0传递进AL
out 71h,al     ;  数据写入...
阅读全文 | 评论次数(2) | 浏览次数(921) | 所属类型(汇编作业)
『 查看更多文章 』