imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 07.06.2005, 17:42     # 1
Nafan'a
Guest
 
Сообщения: n/a

ПЛЗ, Помогите лабу на ассемблере написать!!!

народ, плз, очень нужна ваша помощь, сессия горит, помогите написать
Задание:
Строку перекодировать из кодировки DOS в кодировку Windows.
Результат вывести по центру следующей строки в скобках << … >>
 
Старый 07.06.2005, 20:57     # 2
Willow
Junior Member
 
Регистрация: 23.12.2003
Адрес: Киев
Сообщения: 118

Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)
Лаба вот, но правильную таблицу перекодировки сделаешь сама
.model tiny
.code
org 100h
start: mov dx, offset welcome
mov ah, 9
int 21h
mov ah, 0Ah
mov DX, offset buffer
int 21h
mov BL, 80-4
sub BL, blen
shr BL, 1
xor BH, BH
mov word ptr [space+BX],3C3Ch
mov byte ptr [space+BX+2],'$'
mov ah, 9
mov DX, offset space
int 21h
mov BL, blen
xor BH, BH
mov word ptr [bcontent+BX],3E3Eh
mov byte ptr [space+BX+2],'$'

mov AX, offset bcontent
mov CL, blen
call CP866_1251

mov ah, 09h
mov DX, offset bcontent
int 21h

ret
welcome db 'Введите строку в кодировке CP-866',0Dh,0Ah,'$'
buffer db 80-4
blen db ?
bcontent db 81-4 dup (?)
space db 80 dup(' '),'$'
CP866_1251:
Mov DI, AX
Add DI, BX
Mov BX, offset CTable
Cycle:
Dec CL
JL Break
Mov AL, byte ptr [DI]
XLatb
Mov byte ptr [DI], AL
Dec DI
Jmp Cycle
Break:
ret
CTable db 00h,01h,02h,03h,04h,05h,06h,07h,08h,09h,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh
db 10h,011h,012h,013h,014h,015h,016h,017h,018h,019h,01Ah,01Bh,01Ch,01Dh,0 1Eh,01Fh
db 20h,021h,022h,023h,024h,025h,026h,027h,028h,029h,02Ah,02Bh,02Ch,02Dh,0 2Eh,02Fh
db 30h,031h,032h,033h,034h,035h,036h,037h,038h,039h,03Ah,03Bh,03Ch,03Dh,0 3Eh,03Fh
db 40h,041h,042h,043h,044h,045h,046h,047h,048h,049h,04Ah,04Bh,04Ch,04Dh,0 4Eh,04Fh
db 50h,051h,052h,053h,054h,055h,056h,057h,058h,059h,05Ah,05Bh,05Ch,05Dh,0 5Eh,05Fh
db 60h,061h,062h,063h,064h,065h,066h,067h,068h,069h,06Ah,06Bh,06Ch,06Dh,0 6Eh,06Fh
db 70h,071h,072h,073h,074h,075h,076h,077h,078h,079h,07Ah,07Bh,07Ch,07Dh,0 7Eh,07Fh
db 3Fh,03Fh,027h,03Fh,022h,03Ah,0C5h,0D8h,03Fh,025h,03Fh,03Ch,03Fh,03Fh,0 3Fh,03Fh
db 3Fh,027h,027h,022h,022h,007h,02Dh,02Dh,03Fh,054h,03Fh,03Eh,03Fh,03Fh,0 3Fh,03Fh
db 0FFh,0F6h,0F7h,03Fh,0FDh,03Fh,0B3h,015h,0F0h,063h,0F2h,03Ch,0BFh,02Dh, 052h,0F4h
db 0F8h,02Bh,049h,069h,03Fh,0E7h,014h,0FAh,0F1h,0FCh,0F3h,03Eh,03Fh,03Fh, 03Fh,0F5h
db 80h,081h,082h,083h,084h,085h,086h,087h,088h,089h,08Ah,08Bh,08Ch,08Dh,0 8Eh,08Fh
db 90h,091h,092h,093h,094h,095h,096h,097h,098h,099h,09Ah,09Bh,09Ch,09Dh,0 9Eh,09Fh
db 0A0h,0A1h,0A2h,0A3h,0A4h,0A5h,0A6h,0A7h,0A8h,0A9h,0AAh,0ABh,0ACh,0ADh, 0AEh,0AFh
db 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h,0E8h,0E9h,0EAh,0EBh,0ECh,0EDh, 0EEh,0EFh

end start


P.S. Спасибо на хлеб не намажешь
Willow вне форума  
Старый 08.06.2005, 10:19     # 3
Nafan'a
Guest
 
Сообщения: n/a

премного благодарен, просто огромное тебе спасибо, если бы ты жил в Курске обязательно бы тебе купил многа пива
 

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:45.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.