PDA

Просмотр полной версии : Alasm 507- help



hood
27.01.2009, 10:25
Zdravstvujte,

xotja ja uze v kontaku s avtorom, ja xocu i zdes voprosit, u vas, izpolznikov.

Kogda ja nuzen izpolzovat funkciju SAVEOBJ? Ja smotrju isxodnik, kde informacije, no ja eto ne xoroso ponimaju. Napisite razvitie. Kak mozno, to napisite po anglijckomu, ctoby ja eto coverseno ponimal.

Spasibo

Hood

Antipod
27.01.2009, 12:54
It seems that you are going to port alasm to your favorite OS :)...
Ok, about subj, though I'm not alasm user... It seems that function 'nenado' saves all compiled code to tr-dos disk. The code should be described in array of structures and the array should be located at global label 'ObjTab'. Fields of the structure is commented in source ( as we can see it contains: filename ( 9 bytes ) , start adr at memory, length and file lenght[which can be used as last 2 letters of file name extension ] ).
So, you can use that function to save all your code, all you need as to fill the table and make call to 'nenado'.
There's also some strange hardcoded call to 8026...
Another words, you can write your own function that can do same thing :)
Good luck:)

hood
27.01.2009, 13:35
It seems that you are going to port alasm to your favorite OS :)...
Ok, about subj, though I'm not alasm user... It seems that function 'nenado' saves all compiled code to tr-dos disk. The code should be described in array of structures and the array should be located at global label 'ObjTab'. Fields of the structure is commented in source ( as we can see it contains: filename ( 9 bytes ) , start adr at memory, length and file lenght[which can be used as last 2 letters of file name extension ] ).
So, you can use that function to save all your code, all you need as to fill the table and make call to 'nenado'.
There's also some strange hardcoded call to 8026...
Another words, you can write your own function that can do same thing :)
Good luck:)


...yees, exactly, we shall see how I succeed this time, the structure of alasm is for me "a university" in coding:))

Yes, I saw that table in the begining of SAVEOBJ4 code.

So, in principle, SAVEOBJ4 can save any code file, of any start, any length and any page?

If I have a source file and want to assmble a "file 1" it into page 7, I do assmble, and then want to save the "file 1" machine code on the disk. Could you write me, what steps should I follow? Do I have to keep the source code of "file 1" in the memory all the time? Do I have to keep a source code of "SAVEOBJ4" in the memory all the time?


Maybe a stupid question, but how can I load more sources into alasm? If I load them, they keep loading in page 6, and they are overwritten. How to solve it?

Thanks


Hood

Antipod
27.01.2009, 14:59
So, in principle, SAVEOBJ4 can save any code file, of any start, any length and any page?
yep

If I have a source file and want to assmble a "file 1" it into page 7, I do assmble, and then want to save the "file 1" machine code on the disk. Could you write me, what steps should I follow?
As I understood you should write something like this:


include "saveobj4.h"

; saving code here --------------
org 0x8000
saveMyCode
jp nenado

; the code ----------------------
code_start equ 0xc000
code_page equ 7

org code_start, code_page

; some code
ld a, a

; end of code
code_len equ $ - code_start


; table -------------------------
org 0x5b00
ObjTab
db "file 1 " ; 9 bytes
dw code_start
dw code_len
db code_page
dw 0

db 0 ; end of table
so, you can call saveMyCode after compilation. ( Note: The code above is a "pseudo" code, it demonstrates only idea ). As we saw main idea of that proc - easiest way to save multiple compiled files. The data in the structer is just to create file on file system.


Do I have to keep the source code of "file 1" in the memory all the time? Do I have to keep a source code of "SAVEOBJ4" in the memory all the time?I'm not sure if it neccesary, it seems that it can be compiled from disk.


Maybe a stupid question, but how can I load more sources into alasm? If I load them, they keep loading in page 6, and they are overwritten. How to solve it?
There's a command in main.. hmmm... menu ( when cursor 'A' ) ( 'P' - key ) it types PAGE so you can enter page number. After that the page becomes 'current'. If it empty new file will be created.

hood
13.04.2009, 14:56
Dear friends and MB02+ followers,

this time not with joy but exhausted and half-dead I am bringing another modified TRDOS program. It is the renowned ALASM 5.07 assembler modified to work with MB02+. You cannot find better assembler for ZX Spectrum and on ZX Spectrum.:v2_thumb:

Ex Soviet scene does know this soft, but just in case, on my website http://hood.speccy.cz you find a lot of info in download including screenshots and video (I have been completing the Alasm info for about a week!)

Jubilee 1000th visitor receives an autograph from me.


Big Big thanks to Alone Coder for his hints, tips, help and manual and other documents translation into English. I posted them for download, too.


Hood


Тепер попитайус по русскы...

я рад, цто йа могу вам сказат, я окончил переработку Аласма 5.07 длйа МБ02+ дисковода. Хочу многое спацибо послать Алоне Кодерови за его помощ.

Цпасибо вашей ехСССР сцене за активиту.

Ваш НООD


__________________
http://hood.speccy.cz
skype: Milan Stava
ICQ: 472-392-732