(乱序)
附: 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]