8086汇编常见问题及解决方案

(乱序)
附: 8086汇编,俄罗斯方块完整代码:
https://github.com/Dulun/Assembly

1.低级错误

忘记设置data段

mov ax,data
mov ds, ax

2.键盘输入&扫描码

equ:宏替换,

$left   equ 75
$right  equ 77
$quit   equ 113

int 16h 中断:从键盘缓冲区读取数据
入口参数:AH=00H——读键盘
出口参数:ZF=1——无字符输入,否则,AH=键盘的扫描码,AL=ASCII码。

mov ax, 0h
int 16h
cmp al,'a'       ;ascii码
...
cmp ah, 75        ;扫描码(上下左右esc)

3.文件读写

data
...
    path1           db 'c:/score.txt'
    buffer1         db 0
    buffer2         db 49
...

data ends

read_score proc near

    mov ax, data
    mov ds, ax

    ;打开文件TEST.TXT
    mov ah,3DH
    lea dx,path1
    mov al,2
    int 21H
    jc gones


    ;读取文件内容,存入buffer1
    lea dx,buffer1
    mov bx,ax
    mov cx,1
    mov ah,3FH
    int 21H

    ; ;显示buffer1中的内容
    ; mov cx,ax
    ; lea si,buffer1
    ; NEXT:
    ; mov dl,[si]
    ; mov ah,2
    ; int 21H
    ; INC si
    ; LOOP NEXT
    xor ax,ax
    mov al,buffer1[0]


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值