<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="http://smartbasic.net/forum/app.php/feed/topic/49" />

	<title>SmartBASIC - A Coleco Adam Forum</title>
	<subtitle>Let's Talk Adam</subtitle>
	<link href="http://smartbasic.net/forum/index.php" />
	<updated>2019-08-20T19:15:50-04:00</updated>

	<author><name><![CDATA[SmartBASIC - A Coleco Adam Forum]]></name></author>
	<id>http://smartbasic.net/forum/app.php/feed/topic/49</id>

		<entry>
		<author><name><![CDATA[Wmaalouli]]></name></author>
		<updated>2019-08-20T19:15:50-04:00</updated>

		<published>2019-08-20T19:15:50-04:00</published>
		<id>http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=159#p159</id>
		<link href="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=159#p159"/>
		<title type="html"><![CDATA[Re: Copy.Asm Source code]]></title>

		
		<content type="html" xml:base="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=159#p159"><![CDATA[
I used asm80.org for the development of Adamed. It's a very versatile online assembler that can target different CPU's. Otherwise I use the standard ASM assembler on the Adam itself.<p>Statistics: Posted by <a href="http://smartbasic.net/forum/memberlist.php?mode=viewprofile&amp;u=51">Wmaalouli</a> — Tue Aug 20, 2019 7:15 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Milli]]></name></author>
		<updated>2019-08-20T15:36:36-04:00</updated>

		<published>2019-08-20T15:36:36-04:00</published>
		<id>http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=158#p158</id>
		<link href="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=158#p158"/>
		<title type="html"><![CDATA[Re: Copy.Asm Source code]]></title>

		
		<content type="html" xml:base="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=158#p158"><![CDATA[
I do most of my assembly on a PC using TASM - but ZSM for CP/M is a good one. I don't have any particular disassembler but I do you an online one:<br><br><a href="https://onlinedisassembler.com/odaweb/" class="postlink">https://onlinedisassembler.com/odaweb/</a><p>Statistics: Posted by <a href="http://smartbasic.net/forum/memberlist.php?mode=viewprofile&amp;u=2">Milli</a> — Tue Aug 20, 2019 3:36 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[pearsoe]]></name></author>
		<updated>2019-08-20T14:24:06-04:00</updated>

		<published>2019-08-20T14:24:06-04:00</published>
		<id>http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=157#p157</id>
		<link href="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=157#p157"/>
		<title type="html"><![CDATA[Re: Copy.Asm Source code]]></title>

		
		<content type="html" xml:base="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=157#p157"><![CDATA[
What assembler do you use for CP/M?  Also is there a disassembler you would recommend?<p>Statistics: Posted by <a href="http://smartbasic.net/forum/memberlist.php?mode=viewprofile&amp;u=59">pearsoe</a> — Tue Aug 20, 2019 2:24 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Milli]]></name></author>
		<updated>2019-08-20T09:18:41-04:00</updated>

		<published>2019-08-20T09:18:41-04:00</published>
		<id>http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=156#p156</id>
		<link href="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=156#p156"/>
		<title type="html"><![CDATA[Copy.Asm Source code]]></title>

		
		<content type="html" xml:base="http://smartbasic.net/forum/viewtopic.php?t=49&amp;p=156#p156"><![CDATA[
<div class="codebox"><p>CODE: </p><pre><code>;;    sample file-to-file copy program;;;    at the ccp level, the command;;;         copy a:x.y b:u.v;;boot    equ  0000h     ; system rebootbdos    equ  0005h     ; bdos entry pointfcb1    equ  005ch     ; first file namesfcb    equ  fcb1      ; source fcbfcb2    equ  006ch     ; second file namedbuff   equ  0080h     ; default buffertpa     equ  0100h     ; beginning of tpa;printf  equ  9         ; print buffer func#openf   equ  15        ; open file func#closef  equ  16        ; close file func#deletef equ  19        ; delete file func#readf   equ  20        ; sequential read func#writef  equ  21        ; sequential writemakef   equ  22        ; make file func#;        org  tpa       ; beginning of tpa        lxi  sp,stack  ; set local stack        mvi  c,16      ; half an fcb        lxi  d,fcb2    ; source of move        lxi  h,dfcb    ; destination fcbmfcb:   ldax d         ; source fcb        inx  d         ; ready next        mov  m,a       ; dest fcb        inx  h         ; ready next        dcr  c         ; count 16...0        jnz  mfcb      ; loop 16 times;;    name has been removed, zero cr        xra  a         ; a = 00h        sta  dfcbcr    ; current rec = 0;;    source and destination fcb's ready        lxi  d,sfcb    ; source file        call open      ; error if 255        lxi  d,nofile  ; ready message        inr  a         ; 255 becomes 0        cz   finis     ; done if no file;;    source file open, prep destination        lxi  d,dfcb    ; destination        call delete    ; remove if present;        lxi  d,dfcb    ; destination        call make      ; create the file        lxi  d,nodir   ; ready message        inr  a         ; 255 becomes 0        cz   finis     ; done if no dir space;;    source file open, dest file open;    copy until end of file on source;copy:   lxi  d,sfcb    ; source        call read      ; read next record        ora  a         ; end of file?        jnz  eofile    ; skip write if so;;    not end of file, write the record        lxi  d,dfcb    ; destination        call write     ; write the record        lxi  d,space   ; ready message        ora  a         ; 00 if write ok        cnz  finis     ; end if so        jmp  copy      ; loop until eof;eofile:                ; end of file, close destination        lxi  d,dfcb    ; destination        call close     ; 255 if error        lxi  h,wrprot  ; ready message        inr  a         ; 255 becomes 00        cz   finis     ; shouldn't happen;;    copy operation complete, end        lxi  d,normal  ; ready message;finis:                 ; write message given in de, reboot        mvi  c,printf        call bdos      ; write message        jmp  boot      ; reboot system;;    system interface subroutines;    (all return directly from bdos);open:   mvi  c,openf        jmp  bdos;close:  mvi  c,closef        jmp  bdos;delete: mvi  c,deletef        jmp  bdos;read:   mvi  c,readf        jmp  bdos;write:  mvi  c,writef        jmp  bdos;make:   mvi  c,makef        jmp  bdos;;    console messagesnofile: db 'no source file$'nodir:  db 'no directory space$'space:  db 'out of dat space$'wrprot: db 'write protected?$'normal: db 'copy complete$';;    data areasdfcb:   ds   32        ; destination fcbdfcbcr: equ  dfcb+32   ; current record;        ds   32        ; 16 level stackstack:        end        </code></pre></div><dl class="file"><dt><span class="imageset icon_topic_attach"></span> <a class="postlink" href="http://smartbasic.net/forum/download/file.php?id=48">copy.zip</a></dt></dl><p>Statistics: Posted by <a href="http://smartbasic.net/forum/memberlist.php?mode=viewprofile&amp;u=2">Milli</a> — Tue Aug 20, 2019 9:18 am</p><hr />
]]></content>
	</entry>
	</feed>
