📄 donald.asm
字号:
;
; Lese Dir. Sektor
;
VNAM equ 2Bh ; bei FD
; VNAM equ 47h ; bei HD
STAPEL segment stack 'stack'
dw 100 dup (?)
STAPEL ends
DATEN segment
assume cs:DATEN,ds:DATEN
PUFFER db 1024 dup (?)
VOLNAME db 'Der Laufwerksname ist $'
name1 db 'student'
laenge equ $-name1
bild db 'D:\RSTlab-3\daten.dat$'
fcode dw 0
buffer db 64*1000 dup(?)
Pixel db ?
VGAPAL equ 3c8h
DATEN ends
PROG segment
assume cs:PROG, ds:DATEN, ss:STAPEL
START: mov ax, DATEN
mov ds, ax
mov ax,0013h
int 10h
mov ax, 0201h ; lese 1 Sektor
; mov dl, 80h ; Laufwerk C:
mov dl, 0 ; Laufwerk A:
; mov dh, 1 ; HD: Kopf 0
mov dh, 0 ; FD: Kopf 0
mov ch, 0 ; Zyl 0
mov cl, 1 ; Spur 0
mov bx, offset PUFFER
int 13h
mov cx,00ffh
farb: mov dx,VGAPAL
mov ax,cx
out dx,al
inc dx
shr ax,2
out dx,al
out dx,al
out dx,al
loop farb
;open
mov ax, 3d02h
mov dx, offset bild
int 21h
jc exit
;read
mov fcode, ax
mov ah, 3Fh
mov bx, fcode
mov cx, 64*1000
mov dx, offset buffer
int 21h
jc exit
;close
mov ah, 3Eh
mov bx, fcode
int 21h
jc exit
mov bx, 0a000h
mov es, bx
mov di, 0
mov si, offset buffer
mov cx, 320*200
cld
repz movsb
mov ah,13h
mov bp,seg name1
mov es,bp
mov bp,offset name1
mov al,0
mov cx,laenge
mov dh,0
mov dl,0
mov bh,0
mov bl,40h
int 10h
mov ah, 00h
int 16h
mov ax, 0003h
int 10h
exit: mov ah, 4ch
int 21h
mov ah, 09h
mov dx, offset VOLNAME
int 21h
mov ah, 09h
mov dx, offset PUFFER+VNAM
mov byte ptr [PUFFER+VNAM+11],'$'
int 21h
mov ax, 4c00h
int 21h
PROG ends
end START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -