‭老姜 2021-12-08 17:42
浏览 12
已结题

汇编语言:sub2和sub3无效

; 1.清屏
; 2.前景变色
; 3.背景变色
; 4.滚动一行
assume cs:code

code segment
start:
mov ah,1 ;功能号
mov al,1001b ;颜色选项
call text
mov ax,4c00h
int 21h

text:
jmp short srt
num dw sub1,sub2,sub3,sub4
srt:
push bx
cmp ah,3
ja to
mov bl,ah
mov bh,0
add bx,bx
call word ptr num[bx]
to:
pop bx
ret

sub1:
push bx
push si
push cx
push ds

mov bx,0b800h
mov ds,bx
mov si,0
mov cx,2000
sub1s:
    mov byte ptr ds:[si],' '
    add si,2
    loop sub1s

pop ds
pop cx
pop si
pop bx
ret

sub2:
push bx
push si
push cx
push ds

mov bx,0b800h
mov ds,bx
mov si,1
mov cx,2000
sub2s:
    and word ptr ds:[si],11111000b
    or ds:[si],al
    add si,2
    loop sub2s
        
    pop ds
    pop cx
    pop si
    pop bx
    ret

sub3:
push bx
push si
push cx
push ds

mov cl,4
shl al,cl
mov bx,0b800h
mov ds,bx
mov si,0
mov cx,2000
sub3s:
    and word ptr ds:[si],10001111b
    or ds:[si],al
    add si,2
    loop sub3s

pop ds
pop cx
pop si
pop bx
ret
    

sub4:
push bx
push es
push si
push di
push cx

mov ax,0b800h
mov ds,ax
mov es,ax
mov si,160
mov di,0
cld
mov cx,24
sub4s:
    push cx
    mov cx,160
    rep movsb
    pop cx
    loop sub4s

mov cx,80
mov si,0
sub4s1:
    mov byte ptr es:[160*24+si],' '
    add si,2
    loop sub4s1
    
pop cx
pop di
pop si
pop es
pop bx
ret

code ends
end start

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月16日
    • 创建了问题 12月8日

    悬赏问题

    • ¥50 comsol温度场仿真无法模拟微米级激光光斑
    • ¥15 上传图片时提交的存储类型
    • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
    • ¥15 VB.NET如何绘制倾斜的椭圆
    • ¥15 在rhel8中安装qemu-kvm时遇到“cannot initialize crypto:unable to initialize gcrypt“报错”
    • ¥15 arbotix没有/cmd_vel话题
    • ¥20 找能定制Python脚本的
    • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
    • ¥15 用C语言怎么判断字符串的输入是否符合设定?
    • ¥15 通信专业本科生论文选这两个哪个方向好研究呀