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扇区开始的5个扇区内.
;操作成功: (ah)=0,(al)=写入的扇区数
;操作失败: ...


- [ybyc999] 楼上正解,我的理解有误,应该是四次. cpu在读取jmp ax指令的时候,ip已经移动到下个指令, 01/14 13:47
- [kanwangxue] 我的两种解: 1.按照王爽老师所说的:cpu先将指令存到指令缓冲器中,然后ip改变,再执行指令,这 01/12 21:23
- [游客] 应该是四次吧? 01/11 22:44
- 课程设计2 完成 通过虚拟机测试,实在是不容易啊.感谢论坛里的人...
- 第六章 实验五(6)奇怪的问题...代码运行正确(用g命令),但是在debug用t命令执行到sp=0004的时候发生错误,后面的循环执行不了?
- 实验十 土办法 动态显示时钟 测试通过
- 课程设计1 ,大神门看看代码哪里出错了,运行就溢出;
- 实验 10.1 运行出来全是笑脸,大家帮忙看看哪里出问题了?
- 实验7 大家帮忙看看 最后一段代码哪个地方写错了,人均收入那一段 前面测试没问题
- 课程设计2 大家帮忙看看,老是显示写入磁盘错误!!!
- 课程设计1 上机验证,通过测试!!! 带注解
- 实验7 代码应该没错,但是用t命令执行到某个地方发生错误,谁能帮忙看下,谢谢
- 实验16 运行时dos出错 是怎么回事???

[2013-01-22 23:44] 课程设计2
阅读全文 |
评论次数(0) |
浏览次数(766) |
所属类型(汇编作业)
[2013-01-16 15:55] 第十七章 实验17
安装一个新的int 7ch中断例程,实现通过逻辑扇区号对软盘进行读写。
参数说明:
1、用ah寄存器传递功能号:0表示读,1表示写
2、用dx寄存器传递要读写的扇区的逻辑扇区号
3、用es:bx指向存储读出数据或写入数据的内存区
提示:用逻辑扇区号计算出面号、磁道号、扇区号后,调用int 13h中断例程进行实际的读写。
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset disk
mov ax,0
...
参数说明:
1、用ah寄存器传递功能号:0表示读,1表示写
2、用dx寄存器传递要读写的扇区的逻辑扇区号
3、用es:bx指向存储读出数据或写入数据的内存区
提示:用逻辑扇区号计算出面号、磁道号、扇区号后,调用int 13h中断例程进行实际的读写。
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset disk
mov ax,0
...
阅读全文 |
评论次数(0) |
浏览次数(760) |
所属类型(汇编作业)
[2013-01-16 13:16] 第十七章 例题 字符串输入输入
assume cs:code
code segment
start: mov dh,12
mov dl,30
call getstr
mov ax,4c00h
int 21h
;-----------子程序-----------
;参数:ah,传递功能号,0表示入栈,1表示出栈,2显示字符串
;ds:si指向字符串空间。
getstr: push ax
getstrs: mov ah,0
int 16h
cm...
code segment
start: mov dh,12
mov dl,30
call getstr
mov ax,4c00h
int 21h
;-----------子程序-----------
;参数:ah,传递功能号,0表示入栈,1表示出栈,2显示字符串
;ds:si指向字符串空间。
getstr: push ax
getstrs: mov ah,0
int 16h
cm...
阅读全文 |
评论次数(0) |
浏览次数(738) |
所属类型(汇编作业)
[2013-01-16 11:08] 第十七章 改变屏幕颜色的例题
编程,接收用户的键盘输入,输入"r",将屏幕上的字符设置为红色;输入"g",将屏幕上的字符设置为绿色;输入"b",将屏幕上的字符设置为蓝色.
assume cs:code
code segment
start: mov ah,0
int 16h ;接收键盘缓冲区输入
mov ah,1 ;颜色属性0000 0001
cmp al,'r'
je red
cmp al,'g'
je green
cmp al...
assume cs:code
code segment
start: mov ah,0
int 16h ;接收键盘缓冲区输入
mov ah,1 ;颜色属性0000 0001
cmp al,'r'
je red
cmp al,'g'
je green
cmp al...
阅读全文 |
评论次数(0) |
浏览次数(714) |
所属类型(汇编作业)
[2013-01-15 23:07] 第十六章 实验16
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 setend1-offset setscreen
cld
rep movsb
cli
mov word ptr es:[7ch*4],200h
...
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 setend1-offset setscreen
cld
rep movsb
cli
mov word ptr es:[7ch*4],200h
...
阅读全文 |
评论次数(0) |
浏览次数(617) |
所属类型(汇编作业)
[2013-01-15 16:09] 第十六章 (直接定址表)
(1)编写子程序,以十六进制的形式在屏幕上显示给定的字节型数据.
分析:一个字节需要二个十六进制码来表示,所以,子程序需要在屏幕上显示两个ASCII字符。我们当然要用“0~F”这16个字符来显示十六进制数码。
子程序如下:
参数: al,传送要显示的数据
showbyte: jmp short show
table db '0123456789ABCDEF' ;字符表
show: push bx
push es
mov ah,al
mov cl,4
...
分析:一个字节需要二个十六进制码来表示,所以,子程序需要在屏幕上显示两个ASCII字符。我们当然要用“0~F”这16个字符来显示十六进制数码。
子程序如下:
参数: al,传送要显示的数据
showbyte: jmp short show
table db '0123456789ABCDEF' ;字符表
show: push bx
push es
mov ah,al
mov cl,4
...
阅读全文 |
评论次数(0) |
浏览次数(660) |
所属类型(汇编作业)
[2013-01-15 13:48] 第十五章 实验十五
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 si,offset do0 ;ds:[si]指向源地址
mov ax,0
mov es,ax
mov di,204h ;es:[di]指向目的地址
...
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 si,offset do0 ;ds:[si]指向源地址
mov ax,0
mov es,ax
mov di,204h ;es:[di]指向目的地址
...
阅读全文 |
评论次数(0) |
浏览次数(671) |
所属类型(汇编作业)
[2013-01-14 23:15] 第十四章 实验14
编程,以"年/月/日 时:分:秒" 的格式,显示当前的日期、时间。
注意:CMOS RAM中存储着系统的配置信息,除了保存时间信息的单元外,不要向其他的单元写入内容,否则将引起一些系统错误.
assume cs:code,ds:data
data segment
db "xx/xx/xx xx:xx:xx","$"
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov cx,3 ;循环数
...
注意:CMOS RAM中存储着系统的配置信息,除了保存时间信息的单元外,不要向其他的单元写入内容,否则将引起一些系统错误.
assume cs:code,ds:data
data segment
db "xx/xx/xx xx:xx:xx","$"
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov cx,3 ;循环数
...
阅读全文 |
评论次数(0) |
浏览次数(671) |
所属类型(汇编作业)
[2013-01-14 21:59] 第十四章 检测点14.2
编程,用加法和移位指令计算ax=ax*10
提示,ax*10=ax*2+ax*8
assume cs:code
code segment
start: push ax
shl ax,1
mov bx,ax
mov cl,3
pop ax
shl ax,cl
add bx,ax
mov ax,4c00h
int 21h
code ends
end start...
提示,ax*10=ax*2+ax*8
assume cs:code
code segment
start: push ax
shl ax,1
mov bx,ax
mov cl,3
pop ax
shl ax,cl
add bx,ax
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(656) |
所属类型(汇编作业)
[2013-01-14 21:51] 第十四章 检测点14.1
(1)编程,读取CMOS RAM的2号单元的内容。
mov al,2
out 70h,al
in al,71h
(2)编程,向CMOS RAM的2号单元写入0。
mov al,2
out 70h,al
mov al,0
out 71h,al...
mov al,2
out 70h,al
in al,71h
(2)编程,向CMOS RAM的2号单元写入0。
mov al,2
out 70h,al
mov al,0
out 71h,al...
阅读全文 |
评论次数(0) |
浏览次数(234) |
所属类型(汇编作业)