📄 3ableoutput.asm
字号:
data segment
array1 dw 1010h,1020h,1030h,1040h,1050h,1060h,1070h,1080h,1090h,1200h,1210h,1220h,1230h,1040h,1250h,1260h
array2 dw 00ffh,0ff00h,55aah,0aa55h
array3 dw 20 DUP (?),0dh,0ah,'$'
flag db ?
data ends
program segment
main proc far
assume cs:program,ds:data
start:
push ds
sub ax,ax
push ax
mov ax, data
mov ds, ax
;--------------------------------------
mov bx,0
mov si,0
mov cx,20
mov flag,0
next: cmp flag,4
je insert
mov ax,array1[bx]
mov array3[bx][si],ax
inc flag
inc bx
inc bx
jmp short results
insert:
mov ax,array2[si]
mov array3[bx][si],ax
inc si
inc si
mov flag,0
results:
loop next
print:
mov si,-2
mov flag,20
rotate1:
mov ch,4;输出4个字符
inc si ;移动指针
inc si
;------空格
mov al,20h
mov dl,al
mov ah,2
int 21h
;------
mov bx,array3[si]
rotate2:
mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printit
add al,7h
printit:mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate2
dec flag
jnz rotate1
jmp exit
exit:ret
;-----------------------------------
main endp
program ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -