Gå til innhold

Assembly: [Løst] Lese tekst-fil og skrive ut på skjerm


Anbefalte innlegg

Har startet å skrive et program der jeg prøver å lese noen bytes fra fil og så skrive de ut på skjermen. Er littegran kjent med assembler, kan endel instruksjoner og slikt, men ikke så mye at det gjør noe når det kommer til andre registre og interrupts.

 

1. lurer først og fremst på om fila blir lest og at bytene blir lagret i buffer-arrayet?

2. jeg prøver å hente bytene fra buffer-arrayet på denne måten:

mov dl,[buffer+di]
inc di

jeg tror ikke det blir riktig?

 

Lurer på om det er noen som kan spotte hva som må til for å få aksess til arrayet, eller om det er noe annet jeg gjør feil her?

 

.286
.model small
.code
org 100h

main:

;---------------------
;åpne eksisterende fil
;---------------------
mov dx,offset filename
mov al,0
mov ah,3dh
int 21h	
jc exi

;mov bx,ax
;mov ds,[bufferseg]
;mov dx,0

;----------------
;les data fra fil
;----------------	
mov ah,	3fh;40h;3fh
mov bx,[filehandle]
mov cx,53		;read x bytes	
mov dx,offset buffer
int 21h	

;mov [cs:filesize],ax	

;------------------
;avslutt filehandle
;------------------
mov ah,3eh
mov bx,[filehandle]	
int 21h

;cld
;mov si,0

mov cx,53  ;[cs:filesize]		
mov di,0
printloop:
mov ah,2	
; lodsb
; mov ax,offset buffer	

mov dl,[buffer+di]
inc di
int 21h	
dec cx	
jne printloop	
;pop ds

exi:

mov ax,4c00h
int 21h

;ret

filename db "file.txt",0
buffer db 300 dup(0)
bufferseg dw 0
filesize dw 0
filehandle dw 0

end main

Lenke til kommentar
Videoannonse
Annonse

Spørsmål: Hvorfor bruker du assembler? Er det en del av en oppgave på høyskole/universitet eller noe?

 

Edit: Oops, så nå at jeg beveget meg inn på Assembler-delen av forumet. Beklaer, skal ikke komme med noen dumme fordommer eller forslag :p

Endret av Araho
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...