PDA

Просмотр полной версии : разница в компиляторах TASM и LZasm



ALKO
26.12.2011, 04:22
хочу откомпилировать эту программу
http://habrahabr.ru/blogs/asm/64254/
Через LZasm, но компилятор выдаёт кучу аШыБАК:
Lazy Assembler Version 0.56 2001-01-01 02:31:08 Page 1
penix.asm



1 cseg segment para 'code'
**Error** penix.asm(1) Illegal instruction
2 assume cs: cseg,ds: cseg
**Error** penix.asm(2) Undefined symbol: cseg
3 org 100H
**Error** penix.asm(3) Code or data emission to undeclared segment
4 begin:
**Error** penix.asm(4) Code or data emission to undeclared segment
5 68 00 B8 db 68H, 00H, 0b8H ; push 0b800H
**Error** penix.asm(5) Code or data emission to undeclared segment
6 1F db 1FH ; pop ds
**Error** penix.asm(6) Code or data emission to undeclared segment
7 CD 10 int 10H
**Error** penix.asm(7) Code or data emission to undeclared segment
8 B7 07 mov bh, 7H
**Error** penix.asm(8) Code or data emission to undeclared segment
9 main_loop:
**Error** penix.asm(9) Code or data emission to undeclared segment
10 91 xchg cx,ax
**Error** penix.asm(10) Code or data emission to undeclared segment
11 CD 1A int 1AH
**Error** penix.asm(11) Code or data emission to undeclared segment
12 88 17 mov [bx], dl
**Error** penix.asm(12) Code or data emission to undeclared segment
13 delay:
**Error** penix.asm(13) Code or data emission to undeclared segment
14 CD 1A int 1AH
**Error** penix.asm(14) Code or data emission to undeclared segment
15 38 17 cmp [bx], dl
**Error** penix.asm(15) Code or data emission to undeclared segment
16 74 FE je delay
**Error** penix.asm(16) Near jump or call to different CS
17
18 96 xchg ax, si
**Error** penix.asm(18) Code or data emission to undeclared segment
19 02 C2 add al, dl
**Error** penix.asm(19) Code or data emission to undeclared segment
20 96 xchg ax, si
**Error** penix.asm(20) Code or data emission to undeclared segment
21
22 91 xchg ax, cx
**Error** penix.asm(22) Code or data emission to undeclared segment
23
24 E4 60 in al, 60H
**Error** penix.asm(24) Code or data emission to undeclared segment
25 3C 4D cmp al, 77
**Error** penix.asm(25) Code or data emission to undeclared segment
26 75 FE jnz keytest1
**Error** penix.asm(26) Near jump or call to different CS
27 43 inc bx
**Error** penix.asm(27) Code or data emission to undeclared segment
28 43 inc bx
**Error** penix.asm(28) Code or data emission to undeclared segment
29 keytest1:
**Error** penix.asm(29) Code or data emission to undeclared segment
30 77 FE ja keytest2
**Error** penix.asm(30) Near jump or call to different CS
Lazy Assembler Version 0.56 2001-01-01 02:31:08 Page 2
penix.asm



31 4B dec bx
**Error** penix.asm(31) Code or data emission to undeclared segment
32 4B dec bx
**Error** penix.asm(32) Code or data emission to undeclared segment
33 keytest2:
**Error** penix.asm(33) Code or data emission to undeclared segment
34
35 B4 0C mov ah,0CH
**Error** penix.asm(35) Code or data emission to undeclared segment
36 CD 21 int 21H
**Error** penix.asm(36) Code or data emission to undeclared segment
37
38 B8 0701 mov ax, 0701H
**Error** penix.asm(38) Code or data emission to undeclared segment
39 BA 1827 mov dx, 1827H
**Error** penix.asm(39) Code or data emission to undeclared segment
40 CD 10 int 10H
**Error** penix.asm(40) Code or data emission to undeclared segment
41
42 89 04 mov [si], ax
**Error** penix.asm(42) Code or data emission to undeclared segment
43 89 55 51 db 89H, 55H, 51H ; mov [di+51], dx
**Error** penix.asm(43) Code or data emission to undeclared segment
44 38 37 cmp [bx], dh
**Error** penix.asm(44) Code or data emission to undeclared segment
45 77 FE ja main_loop
**Error** penix.asm(45) Near jump or call to different CS
46 C3 ret
**Error** penix.asm(46) Code or data emission to undeclared segment
47 cseg ends
**Error** penix.asm(47) Illegal instruction
48 end begin
Lazy Assembler Version 0.56 2001-01-01 02:31:08 Page 3
Symbol Table




Symbol Name Type Value

??filename Text "penix"
@Cpu Text 5FDFh
@FileName Text penix
@date Text "2001-01-01"
@line Number 0000
@lzasm Number 0056
@time Text "02:31:08"
@unicode Text 0
begin Near16 ----:0000
delay Near16 ----:0000
keytest1 Near16 ----:0000
keytest2 Near16 ----:0000
main_loop Near16 ----:0000
Lazy Assembler Version 0.56 2001-01-01 02:31:08 Page 4
Error Summary



**Error** penix.asm(1) Illegal instruction
**Error** penix.asm(2) Undefined symbol: cseg
**Error** penix.asm(3) Code or data emission to undeclared segment
**Error** penix.asm(4) Code or data emission to undeclared segment
**Error** penix.asm(5) Code or data emission to undeclared segment
**Error** penix.asm(6) Code or data emission to undeclared segment
**Error** penix.asm(7) Code or data emission to undeclared segment
**Error** penix.asm(8) Code or data emission to undeclared segment
**Error** penix.asm(9) Code or data emission to undeclared segment
**Error** penix.asm(10) Code or data emission to undeclared segment
**Error** penix.asm(11) Code or data emission to undeclared segment
**Error** penix.asm(12) Code or data emission to undeclared segment
**Error** penix.asm(13) Code or data emission to undeclared segment
**Error** penix.asm(14) Code or data emission to undeclared segment
**Error** penix.asm(15) Code or data emission to undeclared segment
**Error** penix.asm(16) Near jump or call to different CS
**Error** penix.asm(18) Code or data emission to undeclared segment
**Error** penix.asm(19) Code or data emission to undeclared segment
**Error** penix.asm(20) Code or data emission to undeclared segment
**Error** penix.asm(22) Code or data emission to undeclared segment
**Error** penix.asm(24) Code or data emission to undeclared segment
**Error** penix.asm(25) Code or data emission to undeclared segment
**Error** penix.asm(26) Near jump or call to different CS
**Error** penix.asm(27) Code or data emission to undeclared segment
**Error** penix.asm(28) Code or data emission to undeclared segment
**Error** penix.asm(29) Code or data emission to undeclared segment
**Error** penix.asm(30) Near jump or call to different CS
**Error** penix.asm(31) Code or data emission to undeclared segment
**Error** penix.asm(32) Code or data emission to undeclared segment
**Error** penix.asm(33) Code or data emission to undeclared segment
**Error** penix.asm(35) Code or data emission to undeclared segment
**Error** penix.asm(36) Code or data emission to undeclared segment
**Error** penix.asm(38) Code or data emission to undeclared segment
**Error** penix.asm(39) Code or data emission to undeclared segment
**Error** penix.asm(40) Code or data emission to undeclared segment
**Error** penix.asm(42) Code or data emission to undeclared segment
**Error** penix.asm(43) Code or data emission to undeclared segment
**Error** penix.asm(44) Code or data emission to undeclared segment
**Error** penix.asm(45) Near jump or call to different CS
**Error** penix.asm(46) Code or data emission to undeclared segment
**Error** penix.asm(47) Illegal instruction


как адаптировать программу под этот компилятор?

goblinish
26.12.2011, 08:15
попробуй FASM

goblinish
26.12.2011, 08:25
компилится, но идея не новая, автор у rec.game.programmer contest идею стырил?

ALKO
26.12.2011, 19:18
goblinish, Я в этом полный нуб.
подскажите, как запустить редактор на компиляцию или работать с файлами, там open\save и всё такое?

Killer
26.12.2011, 19:23
подскажите, как запустить редактор на компиляцию или работать с файлами, там open\save и всё такое?
Хелпер великое дело!!!

ALKO
26.12.2011, 19:36
Всё....С open/save file разобрался

---------- Post added at 19:34 ---------- Previous post was at 19:30 ----------

Кстати, надо попробовать эту игрушку портировать под спекача.

---------- Post added at 19:34 ---------- Previous post was at 19:34 ----------

Довольно таки играбельная получилась, не смотря на столь малый вес

---------- Post added at 19:35 ---------- Previous post was at 19:34 ----------

К тому же в ПЗУшке вроде есть процедура сдвига на один символ вверх

---------- Post added at 19:36 ---------- Previous post was at 19:35 ----------

хотя Сдвиг вниз всё же красивее смотрится

goblinish
26.12.2011, 20:19
ALKO, в командной строке fasmd.exe какойто исходник.asm,
ctrl+s-сохранить изменения, ctrl+f9-компиляция.

---------- Post added at 20:19 ---------- Previous post was at 20:18 ----------


Всё....С open/save file разобрался

---------- Post added at 19:34 ---------- Previous post was at 19:30 ----------

Кстати, надо попробовать эту игрушку портировать под спекача.

---------- Post added at 19:34 ---------- Previous post was at 19:34 ----------

Довольно таки играбельная получилась, не смотря на столь малый вес

---------- Post added at 19:35 ---------- Previous post was at 19:34 ----------

К тому же в ПЗУшке вроде есть процедура сдвига на один символ вверх

---------- Post added at 19:36 ---------- Previous post was at 19:35 ----------

хотя Сдвиг вниз всё же красивее смотрится
портировать? ерунда, если я на адресацию понял, то с атрибутами можно сделать в красивом стиле.