Kod Assemblera nie działa

Odpowiedz Nowy wątek
Krwawy Kot
2015-09-28 17:14
Krwawy Kot
0

Witam. Zacząłem programować z Assemblerem i mam za zadanie napisać program, który to by wczytał linijkę jakiś znaków i wypisał liczbę dużych liter w tej linijce (np asd45GH, wynik = 2). Mam tu kod, lecz nie mogę go skompilować z powodu "Illegal instruction". Nie mam pojęcia nawet w której linijce popełniłem błąd... Jakieś propozycje? :)


.model small

.stack 100h

.data

type db "Your text: "
enter db 10, 13, "$"
bufer db 255
read db ?
result db "Result: $"
number db 0

.code

start:

mov ax, @data   
mov ds, ax  

mov ah, 9
mov dx, offset type
int 21h 

mov ah, 0Ah
mov dx, offset bufer
int 21h 

mov ah, 9
mov dx, offset enter
int 21h 

mov cl, read
mov bx, offset bufer
mov dl, 'A'
mov dh, 'Z'

loop:

CMP [ds:bx], dl 
JBE not 
CPM [ds:bx], dh 
JAE not 
INC number

not:
INC bx

DEC cl
CMP cl, 0   
JNE loop    

MOV byte ptr [ds:bx], '$'   

mov ah, 9
mov dx, offset result
int 21h

mov ah, 4Ch
mov al, 0
int 21h 

END start

Pozostało 580 znaków

2015-09-28 17:47
Moderator

Rejestracja: 13 lat temu

Ostatnio: 18 sekund temu

Lokalizacja: Wrocław

0

CPM [ds:bx], dh


Pozostało 580 znaków

Krwawy Kot
2015-09-28 17:52
Krwawy Kot
0

Ahh ta literówka... Lecz program tak czy siak nie działa :D Spróbuję sam rozwiązać już ten następny problem, dzięki :)

Pozostało 580 znaków

2015-09-28 17:58
Moderator

Rejestracja: 16 lat temu

Ostatnio: 1 minuta temu

0

emu8086... ;]


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0