Thejuster (Admin)
Guru^2
Messaggi: 2305
Iscritto: 04/05/2008
|
Salve ragazzi
ultimamente sto studiando l'assembly però non riesco a trovare un debugger funzionante per windows
e non sò ancora bene come muovermi nel linguaggio.
Ho fatto questo programmino di prova ma non sò nemmeno se funziona
Codice sorgente - presumibilmente Plain Text |
.MODEL Small
.STACK 100H
.DATA
;Variabili
N1 DB 3 ;Intero 1
N2 DB 2 ;Intero 2
SM DB ? ;Intero 3
TOT DB 5 ;Prova risultato
.CODE
;Codice
.STARTUP ;Avvio
MOV AL,N1
ADD AL,N2
MOV SM,AL
VERIFICA: CMP AL,TOT
JE OK
JMP NO
OK:
MOV AX,SM
NO:
NOP
MOV AH,4CH
INT 21H ;RESTITUISCO IL CONTROLLO
END
|
Secondo voi è corretto?
Non sò bene ancora come muovermi bene nel registro. (Parte bassa / Parte Alta )
|
|
pierotofy (Admin)
Guru^2
Messaggi: 6230
Iscritto: 04/12/2003
|
|
|
XBarboX (Member)
Guru
Messaggi: 945
Iscritto: 31/12/2008
|
Non so se puo` tornarti utile ma noi all'universita` usiamo emu8086. E` un programma davvero comodo per imparare l'assembly. Permette di avere completo accesso a tutte le informazioni che desideri oltre a permettere di compiere azioni un po' piu` complesse come la simulzione delle periferiche.
E` difficile da trovare online ma se mi contatti in privato te lo mando volentieri
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
Postato originariamente da XBarboX:
Non so se puo` tornarti utile ma noi all'universita` usiamo emu8086. E` un programma davvero comodo per imparare l'assembly. Permette di avere completo accesso a tutte le informazioni che desideri oltre a permettere di compiere azioni un po' piu` complesse come la simulzione delle periferiche.
E` difficile da trovare online ma se mi contatti in privato te lo mando volentieri |
XBarboX non mi sembra una cosa corretta da scrivere in un forum pubblico. Se qualcuno avesse lo stesso problema fra 3 anni che fa? Viene da te a chiederti il programma (che suppongo non sia legale da ridistribuire gratuitamente a chi non ha pagato per utilizzarlo)? Credo che avresti dovuto omettere "E` difficile da trovare online ma se mi contatti in privato te lo mando volentieri " comunque sono OT.
Prova a guardare questo: http://fdbg.x86asm.net/
Edit: ho trovato anche questo: http://x64dbg.com/#start non sembra affatto male, io lo proverei subito! Ultima modifica effettuata da TheDarkJuster il 03/06/2015 alle 21:10 |
|
Thejuster (Admin)
Guru^2
Messaggi: 2305
Iscritto: 04/05/2008
|
Intanto grazie a tutti.
Al momento ho provato con TASM.
la parte sbagliata e questa
Codice sorgente - presumibilmente Plain Text |
se invece di spostarla su AX sposto la variabile nel registro BL funziona mah.. non capisco perché
|
|
XBarboX (Member)
Guru
Messaggi: 945
Iscritto: 31/12/2008
|
Postato originariamente da TheDarkJuster:
XBarboX non mi sembra una cosa corretta da scrivere in un forum pubblico. Se qualcuno avesse lo stesso problema fra 3 anni che fa? Viene da te a chiederti il programma (che suppongo non sia legale da ridistribuire gratuitamente a chi non ha pagato per utilizzarlo)? Credo che avresti dovuto omettere "E` difficile da trovare online ma se mi contatti in privato te lo mando volentieri " comunque sono OT.
|
Anche volendo non posso passargli la licenza che la scuola ci ha offerto. Il programma funziona bene lo stesso anche se rimani nel periodo di prova. Io volevo solo condividere la versione 4.08 invece della 0.03 che si trova sul sito ufficiale: http://emu8086.com
L'installer si puo' trovare qui: https://drive.google.com/folderview?id=0B-ETN5_yakFSQ0kwVnZ ...
Comunque, credo che questo codice:
Postato originariamente da Thejuster:
Codice sorgente - presumibilmente Plain Text |
|
non funzioni in quanto hai definito la variabile sm di tipo BYTE mentre il registro AX e` di tipo WORD (16/32/64 bit in base al processore che hai)
Prova a scrivere
Codice sorgente - presumibilmente Altri Linguaggi |
MOV AH, 0 ;oppure xor ah, ah
MOV AL, SM
|
cosi` su un processore a 16 bit funziona, puoi provarlo con l'emulatore che ho allegato.
Con tasm non penso che funzioni lo stesso perche` quasi sicuramente la tua cpu e` a 64 bit e supongo che con AH e AL si indichino i 32 bit alti e bassi rispettivamente.
Ultima modifica effettuata da XBarboX il 04/06/2015 alle 18:21 |
|