实验9的,精品源码!求高人指点下
本帖最后由 loop 于 2011-5-19 16:23 编辑assume cs:code,ds:data,ss:stack,ds:data2
data segment
db "welcome to masm!"
data ends
stack segment
dw 0,0,0,0
stack ends
data2 segment
db 02h,24h,71h
data2 ends
code segment
start:mov ax,0b800h
mov es,ax
mov ax,stack
mov ss,ax
mov sp,8
mov di,0
mov si,0
mov dx,0
mov cx,3
s2: push cx
mov bx,0
s: mov ax,data
mov ds,ax
mov cl,ds:
mov ch,0
jcxz s1
mov ax,data2
mov ds,ax
mov ch,ds:
mov word ptr es:,cx
inc bx
add si,2
loop s
s1: inc di
add bx,bx
mov ax,160
sub ax,bx
add si,ax
pop cx
loop s2
mov ax,4c00h
int 21h
code ends
end start想要解释代码的详细意思就顶起!
看看还有什么地方可以优化没{:3_52:} 菜鸟,看不懂 本帖最后由 loop 于 2011-5-5 08:34 编辑
有必要这么麻烦吗?请看代码:assume cs:code
data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov si,0
mov cx,10h
s: mov al,ds:
mov ah,ds:
mov es:,ax
mov ah,ds:
mov es:,ax
mov ah,ds:
mov es:,ax
inc bx
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start 本帖最后由 china0008 于 2011-5-5 09:22 编辑
我的,初学时写的。
assume cs:codesg,ds:datasg
datasg segment
db 'Welcome to masm!'
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax ;定义源数组段
mov ax,0b800h
mov es,ax ;定义目标数组段
mov bx,0 ;bx作为源数组地址指针
mov si,0680h ;si作为目的操作数地址指针
mov cx,16
s:mov al,ds: ;取源数据到al
mov ah,02h ;显示属性送ah
mov es:,ax ;字符和属性一起送目标单元
mov ah,24h ;继续将第二行字符的显示属性送ah
mov es:,ax ;调整目标地址指向第二行同时将数据送目标单元
mov ah,71h ;第三行显示属性送ah
mov es:,ax ;指向第三行同时数据送目标单元
inc bx ;调整源数组指针
add si,2 ;调整目标数组指针
loop s
mov ax,4c00h
int 21h
codesg ends
end start
回复 china0008 的帖子
好不好先不说,代码很规整,呵呵 本帖最后由 sunhopp 于 2011-5-18 01:29 编辑
写起来不麻烦,就是看要求的时候吓到人啦!一堆说明!
assume cs:code,ds:data
data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends
code segment
start:mov ax,data
mov ds,ax
mov di,16
mov ax,0b800h
mov es,ax
mov si,0680h
mov cx,3
s0: push cx
mov bx,0
mov cx,16
s: mov al,
mov ah,ds:
mov es:,ax
inc bx
add si,2
loop s
inc di
add si,0120h
pop cx
loop s0
mov ax,4c00h
int 21h
code ends
end start
凑下热闹,现在已经不看汇编了,主要来看看帖子复习一下assume cs:fuck ds:data ss:stack
data segment
db "welcome to masm!"
data ends
fuck segment
start:
mov ax,0B800h
mov ss,ax
mov sp,7d0h
mov ax,data
mov ds,ax
mov bx,0fh
mov cx,16
s:mov dh,02h
mov dl,ds:
push dx
dec bx
loop s
;黑底绿字
mov sp,730h
mov bx,0fh
mov cx,16
s1:mov dh,24h
mov dl,ds:
push dx
dec bx
loop s1
;绿底红字
mov sp,690h
mov bx,0fh
mov cx,16
s2:mov dh,71h
mov dl,ds:
push dx
dec bx
loop s2
mov ax,4c00h
int 21h
fuck ends
end start 回复 Y.H 的帖子
呵呵,搞笑,你懂的! 回复 weixianlang 的帖子
什么意思?有什么错误请直接点出!
页:
[1]