子程序名称:showstr
参数:ds:si指向字符串首地址
dh存放行号
dl存放列号
cl存放颜色
功能:将末尾是0的字符串显示在屏幕指定位置
返回:无
SHOW_STR: PUSH ES
PUSH BX
PUSH SI
PUSH DI
PUSH AX
PUSH CX
MOV AX,0B800H
...
[2015-02-27 14:15] 实验10(1)显示字符串
阅读全文 |
评论次数(0) |
浏览次数(385) |
所属类型(汇编作业)
[2015-02-27 12:12] 实验12
do0:jmp short do0_start
db 'divide error!'
do0_start:mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,11*0a0h+21*2
mov ah,00000111b
mov cx,13
do0_r:mov al,[si]
mov es:[di],ax
inc si
add di,2
loop do0_r
mov ax,4c00h
int 21h
do0_e:nop...
db 'divide error!'
do0_start:mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,11*0a0h+21*2
mov ah,00000111b
mov cx,13
do0_r:mov al,[si]
mov es:[di],ax
inc si
add di,2
loop do0_r
mov ax,4c00h
int 21h
do0_e:nop...
阅读全文 |
评论次数(0) |
浏览次数(80) |
所属类型(汇编作业)
[2015-02-25 10:57] 实验11
名称:letterc
功能:将以0结尾的字符串中的小写字母转变成大写字母
参数:ds:si指向字符串首地址
letterc:push cx
push si
pushf
sub cx,cx
letterc_c:mov cl,[si]
jcxz letterc_ok ;(cx)为0则跳转
cmp cl,61h
jb letterc_next
cmp cl,7ah
ja letterc_next
sub byte ptr [si],...
功能:将以0结尾的字符串中的小写字母转变成大写字母
参数:ds:si指向字符串首地址
letterc:push cx
push si
pushf
sub cx,cx
letterc_c:mov cl,[si]
jcxz letterc_ok ;(cx)为0则跳转
cmp cl,61h
jb letterc_next
cmp cl,7ah
ja letterc_next
sub byte ptr [si],...
阅读全文 |
评论次数(0) |
浏览次数(95) |
所属类型(汇编作业)
[2015-02-22 12:13] 第六章 复习
一些以前没有巩固的知识:
1、用于定义代码段的标号被编译器当作该段的段地址使用,不是起始地址。起始地址=段地址×10h。
2、程序返回要靠返回语句,没有返回语句的程序,执行完毕后会继续读取后面内存单元的指令执行。
一些好的习惯:
1、问题错误查不出或者没有思路,就再看一遍题。
2、读题时从头到尾把题读完,展开思维的翅膀飞翔可以,但决不能忽视题目的细节。
3、写完一段程序后作回顾。...
1、用于定义代码段的标号被编译器当作该段的段地址使用,不是起始地址。起始地址=段地址×10h。
2、程序返回要靠返回语句,没有返回语句的程序,执行完毕后会继续读取后面内存单元的指令执行。
一些好的习惯:
1、问题错误查不出或者没有思路,就再看一遍题。
2、读题时从头到尾把题读完,展开思维的翅膀飞翔可以,但决不能忽视题目的细节。
3、写完一段程序后作回顾。...
阅读全文 |
评论次数(0) |
浏览次数(128) |
所属类型(学习体验)
[2015-02-21 16:26] 第六章 实验5(6)
补全的程序代码如下:
ASSUME CS:CODE
A SEGMENT
DW 1,2,3,4,5,6,7,8,9,0AH,0BH,0CH,0DH,0EH,0FH,0FFH
A ENDS
B SEGMENT
DW 0,0,0,0,0,0,0,0
B ENDS
CODE SEGMENT
START: MOV AX,A
...
ASSUME CS:CODE
A SEGMENT
DW 1,2,3,4,5,6,7,8,9,0AH,0BH,0CH,0DH,0EH,0FH,0FFH
A ENDS
B SEGMENT
DW 0,0,0,0,0,0,0,0
B ENDS
CODE SEGMENT
START: MOV AX,A
...
阅读全文 |
评论次数(0) |
浏览次数(107) |
所属类型(汇编作业)
[2015-02-21 16:10] 第6章 实验5(5)
补充完整的程序代码如下:
ASSUME CS:CODE
A SEGMENT
DB 1,2,3,4,5,6,7,8
A ENDS
B SEGMENT
DB 1,2,3,4,5,6,7,8
B ENDS
C SEGMENT
DB 0,0,0,0,0,0,0,0
C ENDS
...
ASSUME CS:CODE
A SEGMENT
DB 1,2,3,4,5,6,7,8
A ENDS
B SEGMENT
DB 1,2,3,4,5,6,7,8
B ENDS
C SEGMENT
DB 0,0,0,0,0,0,0,0
C ENDS
...
阅读全文 |
评论次数(0) |
浏览次数(91) |
所属类型(汇编作业)
[2015-02-20 21:24] 第5章实验4(3)
这道题要求将"mov ax,4c00h"之前的指令复制到内存0:200处,补全程序。
assume cs:code
code segment
mov ax,______ //mov ax,cs
mov ds,ax
mov ax,20H
mov es,ax
mov bx,0
mov cx,______ //mov cx,17h,填cx不正确
s: mov al,[bx]
mov es:[bx],al
inc bx ...
assume cs:code
code segment
mov ax,______ //mov ax,cs
mov ds,ax
mov ax,20H
mov es,ax
mov bx,0
mov cx,______ //mov cx,17h,填cx不正确
s: mov al,[bx]
mov es:[bx],al
inc bx ...
阅读全文 |
评论次数(0) |
浏览次数(101) |
所属类型(汇编作业)
[2015-02-13 16:48] 检测点2.3
mov ax,bx
mov ax,ax
jmp ax
上述三条指令执行后,CPU3次修改IP,均在指令刚刚读取尚未执行之时.
最后IP中值为0....
mov ax,ax
jmp ax
上述三条指令执行后,CPU3次修改IP,均在指令刚刚读取尚未执行之时.
最后IP中值为0....
阅读全文 |
评论次数(1) |
浏览次数(314) |
所属类型(汇编作业)
[2015-02-13 16:27] 检测点2.2
(1)段地址为0001h,仅通过变化偏移地址寻址,CPU寻址范围为10h到1000fh.
(2)有一数据存放在内存20000h单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小为1001h,最大为2000h.
当SA小于1001h或大于2000h时,CPU无论如何也无法寻到20000h单元....
(2)有一数据存放在内存20000h单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小为1001h,最大为2000h.
当SA小于1001h或大于2000h时,CPU无论如何也无法寻到20000h单元....
阅读全文 |
评论次数(0) |
浏览次数(84) |
所属类型(汇编作业)
[2015-02-13 16:18] 检测点2.1(2)
mov ax,2
add ax,ax
add ax,ax
add ax,ax...
add ax,ax
add ax,ax
add ax,ax...
阅读全文 |
评论次数(0) |
浏览次数(94) |
所属类型(汇编作业)