Stai usando un browser non aggiornato. Potresti non visualizzare correttamente questo o altri siti web. Dovreste aggiornare o usare un browser alternativo.
Su come lo scambio di dati tra programmi web avvenga sinceramente non so rispondere, probabilmente con qualche API(una specie di interfaccia) messa a disposizione dal sito web dalla quale si acquisiscono le informazioni, dietro quel sito web sicuramente c'è un server che permette di gestire le...
Ho ricontrollato per bene, e effettivamente avevo visto male, forse mentre eseguivo il debbug avevo cambiato qualcosa nel programma per vedere cosa comportava l'istruzione dopo, in questo modo l'istruzione era esplicata in altra locazione con offset diverso.
Inviato da MI 8 tramite App...
Si, ma se il debugger mi comunica che la prossima istruzione da eseguire dopo la call ha offset pari a 4, perché in AX viene memorizzato 5? Non è l'offset della prossima locazione contenente l'istruzione. Se l'istruzione è decodificata su un word l'IP pointer punta solo alla Word più...
No, non mi riferisco all'istruzione "ret", stavo studiando le procedure a basso livello quando riflettendoci un po capisco che molto probabilmente se la funzione chiamata eseguisse una "pop", verebbe rimosso dallo stack l'indirizzo di ritorno e memorizzato nell'operando specificato, a questo...
Allora, per il sistema operativo, sinceramente preferisco linux, è tutto open source, hai accesso a molte informazioni di nicchia che su windows ti scordi, è inoltre le gestione di alcuni aspetti è più semplice, per esempio su linux tutto è un file, un socket è un file, un dispositivo...
Secondo il mio parere se si ci vuole approcciare *seriamente* a questa materia bisogna leggere molti libri e di qualità, non per forza comprandoli ma anche pdf gratis online che ti puoi stampare o qualche slide universitaria sul corso di "fondamenti di informatica" che poi approfondirai cercando...
Hai ragione, ho usato le macro per prenderci un pò la mano, e anche perchè queste verranno estese con le istruzioni identificate dalla macro e mi sarei evitato rogne come il passaggio di parametri etc... che ancora non ho ben studiato.
L'ho ri-assemblato è inizzializato CX a 0 e adesso va tutto liscio, l'output è giusto e non si blocca più, non so cosa sia capitato prima, forse come dici tu CX conteneva un valore che non mi aspettavo che forse causava qualcosa, forse veniva eseguita la moltiplicazione un numero sbagliato di...
Inoltre com'è che a te non si blocca il programma mentre a me si? Che assemblatore hai usato(non credo cambi qualcosa, alla fine alla fine il codice il linguaggio macchina e lo stesso)soprattutto per quale architettura hai assemblato. A me non va proprio arriva a quella istruzioni le "mul" e...
Non capisco che cosa intendi quando dici che CX è "sporco" se "ax ≠ 0" incremento CX per poi doverlo decrementare visto che mi uscirebbe un numero con una cifra in più.
Esempio=
AX= 12
store_in = 10
AX/store_in = 1,2 => AX = 1 DX= 2 CX++
AX/store_in = 0,1 => SX = 0 DX = 1 CX++
CX--
CX*10 = 10...
Scusate ho un problema(strano eh -_-), ho cercato un po su internet, ho provato a fare un paio di prove ma niente non ne esco.
Quando viene eseguita l'istruzione "MUL word" il programma si blocca, sono sicuro al 100% sia quell'istruzione,poiché escludendo le altre istruzioni che potrebbero...
Ho cambiato operandi ma si blocca ancora.
Ecco il codice completo:
stack SEGMENT PARA STACK
db ?
stack ENDS
data SEGMENT PARA PUBLIC
msg_1 db "Primo numero:$"
msg_2 db "Secondo numero:$"
msg_3 db "Somma dei due numeri:$"
data ENDS
code...
Durante la stampa del risultato il programma si blocca
mov ax, bx ;bx contiene la somma
mov cx, 10
output_add:
div cx
cmp ah, 0
je stop
add ah, 48
mov dl, ah
mov ah, 02h
int 21h
xor ah, ah
jmp output_add
stop: mov ah, 04ch
mov al, 1
int...