- [cutebe] 相当牛,这个苦思冥想也值了。^_^ 11/30 00:00
- [parse] 如果忽略消息循环,那么操作系统加载的程序很快就执行完了,就像DOS程序一闪而过,所以CPU会空闲下来 06/30 09:04
- [游客] 楼主好厉害,挺一下! 01/19 08:43
- [游客] 很不错。 01/04 18:36
- [chinatree] 潜力贴留名,沙发。 11/08 12:58
- [youthangel] 恩,这次对了 10/30 18:56
- [fpamc] mov bx,18 在这条指令的上边是不是要加一条sub dx,dx? 10/30 10:03
- [fpamc] 对的 10/27 11:19
- [fpamc] 对的 10/27 09:00
- [fpamc] 哦,对不起,看错了。实验13也有一个7ch中断 10/27 08:52
- [游客] 现在急需一个汇编大作业。。。。。。可以么。。。。。如果今天之内看见留言 就加 1765496715 12/28 16:52
- [youthangel] 这算是对我学习的鼓励吗?谢谢!咱们这样交流就可以了 10/11 15:48
- [fpamc] 多日观察,你的学习积极性挺高的。可以来我们群了。群号:75916434 10/11 10:58
[2012-10-10 18:04] 实验六
comment ;
实验六
;
assume cs:code,ds:data,ss:stack
stack segment
dw 8 dup(0)
stack ends
data segment
db '1. dispaly '
db '2. brows '
db '3. replace '
db '4. modify '
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0 ;初始化ds:bx指向数据
mov ax,stack
mov ss,ax
mov sp,10h ;初始化栈段
mov cx,4 ;外循环控制变量
s:
push cx ;外循环变量入栈
mov si,0 ;利用[bx+si+idata]指向要操作的字符,
;中bx控制行,si控制列,idata是常量偏移,相当于操作二维数组
mov cx,4 ;内循环控制变量
s0:
mov al,[bx+si+3] ;把字符放入al中
and al,11011111b ;与运算把字符变成大写
mov [bx+si+3],al ;把字符写回内存
inc si ;si加一指向下一个字符
loop s0
add bx,16
pop cx ;外循环变量出栈
loop s
;退出
mov ax,4c00h
int 21h
code ends
end start
实验六
;
assume cs:code,ds:data,ss:stack
stack segment
dw 8 dup(0)
stack ends
data segment
db '1. dispaly '
db '2. brows '
db '3. replace '
db '4. modify '
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0 ;初始化ds:bx指向数据
mov ax,stack
mov ss,ax
mov sp,10h ;初始化栈段
mov cx,4 ;外循环控制变量
s:
push cx ;外循环变量入栈
mov si,0 ;利用[bx+si+idata]指向要操作的字符,
;中bx控制行,si控制列,idata是常量偏移,相当于操作二维数组
mov cx,4 ;内循环控制变量
s0:
mov al,[bx+si+3] ;把字符放入al中
and al,11011111b ;与运算把字符变成大写
mov [bx+si+3],al ;把字符写回内存
inc si ;si加一指向下一个字符
loop s0
add bx,16
pop cx ;外循环变量出栈
loop s
;退出
mov ax,4c00h
int 21h
code ends
end start
评论次数(1) |
浏览次数(159) |
类型(汇编作业) |
收藏此文 |