You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In lecture 3 there is a problem due to the different outputs of the jump instruction.
This is asm code
;
; A simple boot sector program that demonstrates addressing.
;
mov ah , 0x0e ; int 10/ ah = 0eh -> scrolling teletype BIOS routine
; First attempt
mov al , the_secret
int 0x10 ; Does this print an X? no
; Second attempt
mov al , [the_secret]
int 0x10 ; Does this print an X? no
; Third attempt
mov bx , the_secret
add bx , 0x7c00
mov al , [bx]
int 0x10 ; Does this print an X?
; Fourth attempt
mov al , [0x7c1e]
int 0x10 ; Does this print an X?
jmp $ ; Jump forever.
the_secret :
db "X"
; Padding and magic BIOS number.
times 510 -( $ - $$ ) db 0
dw 0xaa55
Binary output according to the book
b4 0 e b0 1e cd 10 a0 1e 00 cd 10 bb 1e 00 81 c3
00 7 c 8a 07 cd 10 a0 1e 7c cd 10 e9 fd ff 58 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
***
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
Binary output in my computer (Win10-NASM)
B4 0E B0 1D CD 10 A0 1D 00 CD 10 BB 1D 00 81 C3
00 7C 8A 07 CD 10 A0 1E 7C CD 10 EB FE 58 00 00
***
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
First jump code: e9 fd ff
Second jumo code: EB FE
So the address of the 'X' is different because of the jump opcode. But we added 0x1e hardcoded offset.
And this leads that 'the fourth attempt is not working. I don't know what causes this but the compiler can choose different options of course. A little reminder could be added not to waste people's time.
The text was updated successfully, but these errors were encountered:
In lecture 3 there is a problem due to the different outputs of the jump instruction.
This is asm code
Binary output according to the book
Binary output in my computer (Win10-NASM)
First jump code: e9 fd ff
Second jumo code: EB FE
So the address of the 'X' is different because of the jump opcode. But we added 0x1e hardcoded offset.
And this leads that 'the fourth attempt is not working. I don't know what causes this but the compiler can choose different options of course. A little reminder could be added not to waste people's time.
The text was updated successfully, but these errors were encountered: