WinAsm Studio, The Assembly IDE - Free Downloads, Source Code
Articles
Programming Quick Start
32-bit Assembler is Easy
Porting Iczelion tutorials
What is FASM
What is FASM G
Hard Drive Recovery
Wiring your own LAN
 
Forum
 

Package for i8080 development - ready to use, minimal WinAsm Studio package, fasm g package, emu(80) package, some templates and demo projects, a little description

shoorick
Quote Post


Extremely Active Member
******

Group: Admins
Posts: 2325
Member No.: 160
Joined: 22-June 04


Sponsored Links
An "integrated" package for developing for i8080 can be found in download area

it contains:
- minimal WinAsm Studio package
- minimal fasm g package
- minimal emu package
- emu80 package
- some templates and demo projects, a little description, enough to start

in addition to i8080, the support for i8049 and i8051 programming incuded (without included emulators)

just unpack it to c:\ and use ;)

to know is it easy or not - check this:
http://www.youtube.com/watch?v=47KEB57zonk

This post has been edited by shoorick on Jul 27 2016, 12:47 PM
PMEmail PosterUsers Website
Top
shoorick
Quote Post


Extremely Active Member
******

Group: Admins
Posts: 2325
Member No.: 160
Joined: 22-June 04


The support for i8080 with fasm has been replaced with new assembler fasm g.

While support with fasm was made as a trick over x86 assembly language and had not eliminate neither x86 commands, nor many i8080 language incorrect situations, the fasm g version has pure i8080 support with full correct handling of syntax mistakes. Same is for i8048 and i8051 support. Also, fasm g is really modern and powerfull tool.

The fasm g is not an assembler exactly, it is an assembler engine. All syntaxis of target processor/assembly language is described with external macros. Thus anyone can write own macros to support any processor - obsolete or just developing, existing or hypotetical, hardware or virtual, etc. Except support for these architectures, fasmg original package provides support for x86, x64, 8052, AVR and Java Virtual Machine, while at forum the support for PIC, MOC6502 and Z80 can be found.

Fasm g has not only complex macro language to describe syntax patterns etc., it also lets including whole or certain part of any external file into binary output directly or processing it, providing the postmodification of generated binary data, generate temporal data and then process it etc. This lets to control output, encoding it, transcoding, calculation hashes, encrypting etc. right while assembling process lasts.

The simpliest example of this is replacing binary output for i8051 to Intel Hex format, usable with most eprom programmers. I have it modified to get text output instead of binary, which appeared handy to use with manual programming with switches to program PROMs for my i8048 testboard.

(IMG:https://lh3.googleusercontent.com/-RFnogVlzZNA/Vq5EvJU1CDI/AAAAAAAAFDE/uCXP8ysn_Jg/s400-Ic42/8049-3.JPG)

(IMG:https://lh3.googleusercontent.com/-NMAvo1a5XuU/Vq5EpJXavQI/AAAAAAAAFCs/e0olGcY8hjg/s400-Ic42/556%2525D0%2525A0%2525D0%2525A24.JPG)

CODE
---- ---- ---- ---- : --X- --XX
---- ---- ---- ---X : -X-X -X-X
---- ---- ---- --X- : --XX X--X
---- ---- ---- --XX : XXX- -XXX
---- ---- ---- -X-- : --XX X--X
---- ---- ---- -X-X : --XX -X-X
---- ---- ---- -XX- : X-XX X--X
---- ---- ---- -XXX : XXXX XXX-
---- ---- ---- X--- : XXXX X--X
---- ---- ---- X--X : XXX- -XXX
---- ---- ---- X-X- : X-X- X--X
---- ---- ---- X-XX : --XX X--X
---- ---- ---- XX-- : ---X -X--
---- ---- ---- XX-X : ---X ----
---- ---- ---- XXX- : ---- -X--
---- ---- ---- XXXX : ---- X---
...


Attached Image
Attached Image
PMEmail PosterUsers Website
Top
shoorick
Quote Post


Extremely Active Member
******

Group: Admins
Posts: 2325
Member No.: 160
Joined: 22-June 04


an integer square root of dword for i8080:
CODE
;=======================================================================
;   BC = SQRT(DEHL)
;-----------------------------------------------------------------------
sqrt32:
;-----------------------------------------------------------------------
   mvi  a,30 + 2
   push psw ; s+2
   lxi  b, 0; y
   push d   ; xh
   push h   ; xl
;-----------------------------------------------------------------------
.loop:
   pop  h
   pop  d
   pop  psw
   sui  2 ; a=s
   rm
;-----------------------------------------------------------------------
   push psw
   push d
   push h
   mov  l,c
   mov  h,b
   dad  h
   mov  c,l
   mov  b,h; BC=y=2*y
;-----------------------------------------------------------------------
   lxi  d,0
   dad  h
   inx  h  ; DEHL=b=2*y+1
;-----------------------------------------------------------------------
   inr  a
.shift:
   dcr  a
   jz   .skip
   xchg
   dad  h
   jc   .loop
   xchg
   dad  h
   jnc  .shift
   inx  d
   jmp  .shift    
.skip:       ; DEHL << A=s
;-----------------------------------------------------------------------
   push d
   push h
   lxi  h,4
   dad  sp
   xchg   ; DE --> X
   lxi  h,0
   dad  sp; HL --> B
;-----------------------------------------------------------------------
   ldax d
   sub  m
   mov  m,a
   inx  h
   inx  d
   ldax d
   sbb  m
   mov  m,a
   inx  h
   inx  d
   ldax d
   sbb  m
   mov  m,a
   inx  h
   inx  d
   ldax d
   sbb  m
   mov  m,a
;-----------------------------------------------------------------------
   pop  h
   pop  d
   jc   .loop
;-----------------------------------------------------------------------
   xthl
   pop  h
   xchg
   xthl
   push d
   inx  b
   jmp  .loop    
;=======================================================================
PMEmail PosterUsers Website
Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll

 

Sponsors
Computer Science

Internet
C/C++
Hardware & PC maintenance

HiEditor

General Discussions
Suggestions/Bug Reports
WinAsm Studio

General Discussions
Suggestions/Bug Reports
WinAsm Studio FAQ
Multilingual User Interface
Add-Ins
Assembly Programming

Main
Newbies
Projects
Custom Controls
Snippets
Announcements & Rules

Announcements

General

Online Degrees - Distance Learning
The Heap
Russian