先完成把的内容A盘拷贝到B盘的功能。
虚拟DOS实模式的配置见:
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=13489&kindLevel=1&kindId=17296&postId=23304&readSg=1
代码如下:
assume cs:code
data segment
db 512 dup(0)
code segment
start:
mov ax,data
mov es,ax
mov bx,0
...


- [qiangzi] 正确 02/03 20:57
- [qiangzi] 好像不是很对,没办法确定读取的是几号单元的内容 02/02 19:07
- [qiangzi] 正确 02/02 15:16
- [qiangzi] 正确 01/28 22:16
- [qiangzi] 有符号数跟无符号数在内存中都是一样的,只是我们怎么看待的问题了,如果把我们把最高位当做符号位的话,那 01/28 21:23
- [iammingbo] 谢谢指点 01/04 19:56
- [游客] 最好安装虚拟机装个实dos或直接装个实dos。 涉及到访问键盘硬件,必须在实dos下运行(这个 01/04 10:49
- [游客] 快学完了,博主厉害^_^ 01/04 10:45
- [游客] 正确。 12/30 11:03
- [游客] 深切体会中断机制 ^_^ 我觉得完成课设一后,后面的程序就简单多了,讲的更多的是机理,而不是汇 12/30 11:02
[2010-01-03 17:23] 实验17
阅读全文 |
评论次数(0) |
浏览次数(638) |
所属类型(汇编作业)
[2010-01-02 19:45] 检测点17.1
在int 16h中断例程中,一定有设置IF=1的指令,这种说法是正确的。
因为需要接受另外的中断,例如int 9h的中断。...
因为需要接受另外的中断,例如int 9h的中断。...
阅读全文 |
评论次数(1) |
浏览次数(768) |
所属类型(汇编作业)
[2010-01-02 17:53] 实验16:编写包含多个功能子程序的中断例程
调试了很长时间才出来。
主程序:
assume cs:code
code segment
start:
mov ah,3
mov al,2
int 7ch
mov ax,4c00h
int 21h
code ends
end start
中断例程:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
m...
主程序:
assume cs:code
code segment
start:
mov ah,3
mov al,2
int 7ch
mov ax,4c00h
int 21h
code ends
end start
中断例程:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
m...
阅读全文 |
评论次数(0) |
浏览次数(645) |
所属类型(汇编作业)
[2010-01-02 00:54] 检测点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) |
浏览次数(527) |
所属类型(汇编作业)
[2010-01-02 00:38] 检测点16
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) |
浏览次数(239) |
所属类型(汇编作业)
[2010-01-02 00:06] 实验15比较奇怪的现象
实验15的内容,我基本上是参考书上的例子完成的。但是现象比较奇怪。
执行后,按键没有反映。
但是我如果改成F1的断码的话(即把下面的cmp al,9eh 改成 cmp al,3bh)
按F1就能实现全屏为A的效果。
请问这是怎么回事?
希望老师能给解答一下,谢谢!
下面是程序代码:
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
...
执行后,按键没有反映。
但是我如果改成F1的断码的话(即把下面的cmp al,9eh 改成 cmp al,3bh)
按F1就能实现全屏为A的效果。
请问这是怎么回事?
希望老师能给解答一下,谢谢!
下面是程序代码:
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
...
阅读全文 |
评论次数(2) |
浏览次数(457) |
所属类型(汇编作业)
[2010-01-01 23:03] 检测点15.1(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...
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...
阅读全文 |
评论次数(0) |
浏览次数(235) |
所属类型(汇编作业)
[2010-01-01 22:56] 检测点15.1(1)
因为IF和TF都已经置0,所以
pushf
pushf
pop bx
and bh,11111100b
push bx
popf
call dword ptr ds:[0]
可以精简为
pushf
call dword ptr ds:[0]...
pushf
pushf
pop bx
and bh,11111100b
push bx
popf
call dword ptr ds:[0]
可以精简为
pushf
call dword ptr ds:[0]...
阅读全文 |
评论次数(1) |
浏览次数(494) |
所属类型(汇编作业)
[2010-01-01 19:04] 实验14
代码如下:
assume cs:code
data segment
db 9,8,7,4,2,0 ;定义CMOS RAM中的存储单元位置
data ends
code segment
start:
mov ax,data
mov ds,ax
mov di,0
mov bx,0b800h
mov es,bx
mov si,0
mov cx,6
disp:
push cx
mov al,ds:[di]
out 70...
assume cs:code
data segment
db 9,8,7,4,2,0 ;定义CMOS RAM中的存储单元位置
data ends
code segment
start:
mov ax,data
mov ds,ax
mov di,0
mov bx,0b800h
mov es,bx
mov si,0
mov cx,6
disp:
push cx
mov al,ds:[di]
out 70...
阅读全文 |
评论次数(0) |
浏览次数(233) |
所属类型(汇编作业)
[2010-01-01 18:02] 检测点14.2
用加法和移位指令计算(ax)=(ax)*10
assume cs:code
code segment
start:
mov bx,ax
shl ax,1
mov dx,ax
mov ax,bx
mov cl,3
shl ax,cl
add ax,dx
mov ax,4c00h
int 21h
code ends
end start...
assume cs:code
code segment
start:
mov bx,ax
shl ax,1
mov dx,ax
mov ax,bx
mov cl,3
shl ax,cl
add ax,dx
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(229) |
所属类型(汇编作业)