Просмотр полной версии : str2int
Нужна готовая процедура перевода строки десятичных цифр в 16-битное число.
Что-то типа:
ld hl,string
call str2int
ret ; на выходе в DE число #4000
string db "16384",0
может есть у кого готовое решение? кстати чисел в строке не обязательно должно быть пять, может быть и одно число :)
заранее спасибо. :rolleyes:
Shadow Maker
04.04.2012, 01:04
Ну почти такое, сам уж конвертацию ascii в нужный формат сделаешь поди.
(DE).4 8-digit packed decimal number
<HL> Adress from result
(HL).4 4-byte result
DEBU1: PUSH BC
LD B,20 ;[B]=32D, cycles counter
DED11: XOR A ;<CY>=0
CALL DH4 ;devision into two parts
CALL RR4 ;4-Byte shift to right
DJNZ DED11
POP BC
RET
RR4: PUSH BC
PUSH HL
LD B,4
RR41: RR (HL)
INC HL
DJNZ RR41
POP HL
POP BC
RET
DH4: LD C,4
DHN: PUSH BC
PUSH DE
DHN1: LD A,(DE)
RRA
PUSH AF
BIT 3,A ;handling carried
JR Z, DHN2
SUB 3
DHN2: CP 80H ;handling carried
JR C,DHN3
SUB 30H
DHN3 LD (DE),A
POP AF
INC DE
DEC C
JR NZ,DHN1
POP DE
POP BC
RET
Gomez
Не совсем понял что на вход подавать?
Тут есть распознавайка: http://zxpress.ru/article.php?id=8555
(в процессе разбора поймёшь много других полезных вещей, гарантирую)
Тут есть распознавайка: http://zxpress.ru/article.php?id=8555
(в процессе разбора поймёшь много других полезных вещей, гарантирую)
спасибо, при случае почитаю :) ну а пока написал свой вариант… :D
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot