Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Intreruperi arhitectura 8086.

- - - - -
  • Please log in to reply
6 replies to this topic

#1
M-A-R-I-U-S

M-A-R-I-U-S

    Member

  • Grup: Members
  • Posts: 912
  • Înscris: 29.08.2010
Salutare,

La facultate facem ceva ASM pentru arhitectura 8086, si folosim niste placi pentru a rula programele scrise.
Scrierea codului, asamblarea acestuia, si incarcarea programului pe placa se face cu ajutorul unui program numit Modulo Z3.

Neavand aceasta placa, am gasit un emulator pentru aceasta arhitectura, emu8086 se numeste.
Problema este ca nu recunoaste intreruperile pe care le-am folosit in programul Modulo Z3.

De exemplu, urmatorul program citeste de la tastatura doua variabile (x, y), si afiseaza pe display rezultatul calculului x + y - 4.
(si functioneaza atunci cand este incarcat pe placa).

; ----------------------- constante
MEM_POS =  0800H
DS_SEG =  0080H 
IKEYBOARD =  08H
IDIS_BYTE =  09H
IDIS_STR =  0BH
; ----------------------- cod
CODE SEGMENT  
ASSUME  CS:CODE, DS:CODE
		ORG  0H
START: MOV  AX,DS_SEG
MOV  DS,AX
MOV  SI,OFFSET MSG
INT  IDIS_STR
TLOOP:  INT  IKEYBOARD
MOV CL,1
MOV BL,AL  ;salveaza prima valoare
INT  IDIS_BYTE ;afiseaza x
INT  IKEYBOARD
MOV CL,6
INT  IDIS_BYTE ;afiseaza y
ADD AL,BL  ;aduna x+y
SUB AL,4  ;substrage constanta -4
MOV CL,13
INT  IDIS_BYTE ;afiseaza rezultat
JMP  TLOOP

MSG  DB 'X  + Y  - 4 = ?',00H

CODE  ENDS
END START


Insa in emulator da urmatoarele erori *(1).
Solutii?

*(1): https://i.imgur.com/4BEB6uC.jpg

#2
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
cele 3 intreruperi definite in sectiunea "constante" sunt specifice placii Z3
practic tu ai nevoie de un emulator pentru placa Z3, nu pentru 8086

#3
Alice

Alice

    Big Boobs

  • Grup: Senior Members
  • Posts: 7,141
  • Înscris: 05.12.2002
Daca scrii 'INT 0Bh' in loc de 'INT IDIS_STR' primesti aceeasi eroare?

#4
M-A-R-I-U-S

M-A-R-I-U-S

    Member

  • Grup: Members
  • Posts: 912
  • Înscris: 29.08.2010
@Alice Yep, n-are legatura cu [,] constantele.

#5
adrian001

adrian001

    Senior Member

  • Grup: Senior Members
  • Posts: 3,269
  • Înscris: 02.11.2006
Se intampla asta pentru ca placa aia pe care exersati voi are un Intel 80386EX care are alt set de intreruperi fata de batranul 8086. Fa ce zice Alice si vezi ce iese.

#6
M-A-R-I-U-S

M-A-R-I-U-S

    Member

  • Grup: Members
  • Posts: 912
  • Înscris: 29.08.2010
Da acelasi lucru, zice ca acea intrerupere nu este definita...

View Post_Smiley_, on 22 octombrie 2014 - 22:49, said:

cele 3 intreruperi definite in sectiunea "constante" sunt specifice placii Z3
practic tu ai nevoie de un emulator pentru placa Z3, nu pentru 8086

Mda, asa se pare... 08H, 09H, 0BH, sunt intreruperi specifice placii Z3.
Iar emulator pentru Z3 eu nu gasesc :(

#7
dexterash

dexterash

    --something---

  • Grup: Senior Members
  • Posts: 22,912
  • Înscris: 19.08.2004

View PostM-A-R-I-U-S, on 22 octombrie 2014 - 22:28, said:

Insa in emulator da urmatoarele erori *(1).
Solutii?
Te intreb si eu, netrebnic de felul meu, tu nu poti sa "percutezi" la o simpla eroare scrisa in limba engleza? Nu te duce "ceapa" incat sa formulezi o cautare prin "bossul" Google?

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate