[assembly&TASM] Undefined symbol: FFH

Pagina: 1
Acties:

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Als ik de volgende code probeer te compileren, geeft hij de melding Undefined symbol: FFH
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.MODEL SMALL
.STACK
.CODE

mov ah, 06h
mov dl, ffh
int 21h

mov ah, 02h
mov dl, al
int 21h

mov ah, 4ch
int 21h

END

Het gaat hier dus om het toekennen van FFh aan DL. Dit moet, want zo is interrupt 21 met optie 06 gedefinieerd (volgens Ralf Browns Interrupt List). Als ik waardes toeken die niet met een letter beginnen compileert ie wel (maar dan werkt de functie niet, logisch).

Ben wel asm n00b btw...

  • RickN
  • Registratie: December 2001
  • Laatst online: 14-06-2025
probeer eens 0ffh of wen jezelf aan om het 0xff formaat te gebruiken.

He who knows only his own side of the case knows little of that.


  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Thnx hij compileert nu wel, maar nu werkt ie niet. De exe slaat de input functie gewoon over... Waarom?

Dit is een stukje uit RBIL:
code:
1
2
3
4
5
6
7
INT 21 - DOS 1+ - DIRECT CONSOLE INPUT
    AH = 06h
    DL = FFh
Return: ZF set if no character available
        AL = 00h
    ZF clear if character available
        AL = character read

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
.MODEL SMALL
.STACK
.CODE
mov ah, 06h
mov dl, ffh
int 21h

mov ah, 06h
int 21h

mov ah, 4ch
int 21h

END

ah = 06h en dl <> 0FFh : direct console output

Verwijderd

Ik dacht dat het zo moest ?? toch ?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
.MODEL SMALL
.STACK
.CODE
mov ah, 0x06
mov dl, 0xff
int 0x21

mov ah, 0x06
int 0x21

mov ah, 0x4c
int 0x21

END

  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 22-08 16:45
Aan de flag ZF in het stuk van de RBL te zien moet je blijven lopen tot er een keer een teken beschikbaar is. Dus dan wordt het:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.MODEL SMALL
.STACK
.CODE

waitForInput:
  mov ah, 06h
  mov dl, 0ffh
  int 21h
  jz waitForInput

  mov ah, 02h
  mov dl, al
  int 21h

  mov ah, 4ch
  int 21h

END

asm is alweer lang geleden. En ook al lijkt het me niet logisch het zou ook best 'jnz waitForKey' kunnen zijn.
Pagina: 1