Asm Kodunu Hex Çevirme

harf

Üye
Katılım
9 Nis 2009
Mesajlar
102
Puanları
1
Kod:
; PICBASIC PRO(TM) Compiler 2.60, (c) 1998, 2009 microEngineering Labs, Inc. All Rights Reserved. 
PM_USED   EQU 1
 INCLUDE "16F84A.INC"
RAM_START         EQU 0000Ch
RAM_END           EQU 0004Fh
RAM_BANKS         EQU 00001h
BANK0_START       EQU 0000Ch
BANK0_END         EQU 0004Fh
EEPROM_START      EQU 02100h
EEPROM_END        EQU 0213Fh
R0                EQU RAM_START + 000h
R1                EQU RAM_START + 002h
R2                EQU RAM_START + 004h
R3                EQU RAM_START + 006h
R4                EQU RAM_START + 008h
R5                EQU RAM_START + 00Ah
R6                EQU RAM_START + 00Ch
R7                EQU RAM_START + 00Eh
R8                EQU RAM_START + 010h
FLAGS             EQU RAM_START + 012h
GOP               EQU RAM_START + 013h
RM1               EQU RAM_START + 014h
RM2               EQU RAM_START + 015h
RR1               EQU RAM_START + 016h
RR2               EQU RAM_START + 017h
_PORTL             EQU  PORTB
_PORTH             EQU  PORTA
_TRISL             EQU  TRISB
_TRISH             EQU  TRISA
 INCLUDE "KAYANL~1.MAC"
 INCLUDE "PBPPIC14.LIB"
 MOVE?CB 000h, TRISB
 MOVE?CB 000h, PORTB
 LABEL?L _SAG 
 MOVE?CB 080h, PORTB
 LABEL?L _SAGA_DEVAM 
 PAUSE?C 0FAh
 SHIFTR?BCB PORTB, 001h, PORTB
 CMPEQ?BCL PORTB, 001h, _SOL
 GOTO?L _SAGA_DEVAM
 LABEL?L _SOL 
 MOVE?CB 001h, PORTB
 LABEL?L _SOLA_DEVAM 
 PAUSE?C 0FAh
 SHIFTL?BCB PORTB, 001h, PORTB
 CMPEQ?BCL PORTB, 080h, _SAG
 GOTO?L _SOLA_DEVAM
 END? 
 END







arkadaşlar bu kodları nasıl hex e çevirebilirim mplap ide yle nasıl çevrilir mpasmwin ile denedim olmadı ultraedit programıyla çevirebilirmiyim nasıl çevirecem bilemedim yardımcı olan herkese teşekkürler hex i asm ye asm yi hex nasıl çeviririm
 
Moderatör tarafında düzenlendi:
MPLAB programında yeni bir dosya oluşturun. Kodunuzu buy dosyanın içine kopyalayıp asm formatıyla kaydedin. Menüden->Project->Quickbuild ***.asm 'ye tıklayın.
 
MPLAB programında yeni bir dosya oluşturun. Kodunuzu buy dosyanın içine kopyalayıp asm formatıyla kaydedin. Menüden->Project->Quickbuild ***.asm 'ye tıklayın.



kardeş dosya nasıl oluşturuyoruz baştan anlatma imkanın varsa anlatırmısın şimdiden allah razı olsun diyorum

--------------------------

kardeş dediyin gibi yaptıp cod dosyası - err dosyası - lst doyası - mcs dosyası yaptı hex dosyası yok yanlışmı yapıyorum acaba
 
Moderatör tarafında düzenlendi:
HEX dosyası yoksa derleme sırasında hata oluşmuştur. Kırmızı bir BUILD FAILED yazısı görmüş olmalısın. Build output penceresinde yazan uyarları dikkate almalısın..
 
Kodu mplapda build yapınca aynı dizinde hex dosyası otomatik oluşturulur.
 
yav ne is yapicak bu program bununla ugrasacagina yeninde yaz . Olmazsa calismasiini ayrintilari ver ben yazayim;)
 
ASM hex e çevrilir fakat hex asm ye çevrilmez.
 
hex asm ye çevrile bilir. DeASMHex adında programla yapılıyor. Ama ASM ye çevrilince anlama zorluğu var
 
;**********************************************************************
; *
; Filename: ledcubeC.asm *
; Date: 12-March-2009 *
; *
; Code Version: 1.0.2 *
; Author: Pete Griffiths *
; Company: picprojects.org.uk *
; *
; *
;**********************************************************************
; *
; Files Required: P16F688.INC *
; *
;**********************************************************************
; *
; Notes: *
; *
; The instruction cycle time is 0.5uS (8Mhz clock) *
; *
; For PCB Revision C *
; Schematic: cube555c 23/02/2009 *
; LED Cube Matrix Driver *
; *
; V1.0.1 *
; Added extra instructions to DP (PULLDIS, SWAP) *
; *
; V1.0.2 *
; Added extra instructions to DP (DUP, NOT, ROT, OVER) *
; *
;**********************************************************************
list p=16f688 ; list directive to define processor
#include <P16F688.inc> ; processor specific variable definitions

__CONFIG _CP_OFF & _CPD_OFF & _BOD_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_ON & _FCMEN_OFF & _IESO_OFF
errorlevel -302
; '__CONFIG' directive is used to embed configuration data within .asm file.
; The labels following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.

; ***** EEPROM DATA
; EEPROM used to hold static code version information.
ORG 0x2100 ; data EEPROM address
de " LED Cube V1.0.2 "
de " animations 13-04-2009 "
de " picprojects.org.uk "
de " (c) 2009 Pete Griffiths "
;***** PROGRAM CONSTANTS
; Timer0 Prescaler 1:8
Ctimer0 equ .8 ; timer0 reload value 2mS (refresh 100Hz)
;Ctimer0 equ .132 ; timer0 reload value 1mS (refresh 200Hz)
; 5 layers x 2mS = 10mS -> 100Hz refresh
; Changing the refresh will affect the hold and second timers in the lc5x5_inth.inc code

;***** VARIABLE DEFINITIONS

cblock 0x20
buffer.draw:.25 ; Drawing buffer
; Drawing buffer and display buffer must start at the same address
; in banks 0/1 as program functions expect them to be offset by 128 bytes
cp.regbase:.4 ; command processor General purpose registers
holdtime ; hold time (GPReg 4) - 30
vox.x ; X axis voxel pointer register (GPReg 5)
vox.y ; Y axis voxel pointer register (GPReg 6)
vox.z ; Z axis voxel pointer register (GPReg 7)
voxel.count ; Used by SET/CLR/INV ALL drawing functions
rotate ; temp variable used to rotate cube in the x-axis
addr.stack.pointer ; instruction pointer stack -35
user.stack.pointer ; current stack pointer address
stack.data.temp ; temp variable holding value to put on stack
instruction ; copy of command last fetched
inst.data ; command data byte
randomH ; Random number hi byte
randomL ; Random number lo byte
mult.mult2 ; Multiplier to scale random number for use
mult.resHi ; Multiplier to scale random number for use
mult.resLo ; Multiplier to scale random number for use
math.op1 ; math operation variable
savex ; Temp save of X,Y,Z registers when draw functions
savey ; use them but they need to be left unchanged on
savez ; function exit
lastone
endc

cblock 0xA0
buffer.disp:.25 ; must be offset from buffer.draw by 128 bytes
addr.stack:.16 ; instruction pointer return address stack
user.stack:.33 ; user software stack
; user stack is 30 levels deep but the Drawing Processor also
; makes use of this stack for temporary storage during
endc ; instruction exectuion so 3 extra bytes are reserved

cblock 0x70
w_temp ; variable used for interrupt context saving (also used in startup code)
status_temp ; variable used for interrupt context saving (also used in startup code)
pclath_temp ; variable used for interrupt context saving
fsr_temp ; variable used for interrupt context saving
flag.bit ; Variable used to hold flag bits
voxel.func ; Variable used to hold voxel mode operations
shift.register ; Temp variable used to shift drawing buffer data to hardware shift registers
layer.select ; Variable holds current layer output drive
shift.count ; Bits shifted counter
hold.timer ; display update hold timer in 10mS intervals
tick ; Count of 10mS periods in 1S
seconds ; Seconds countdown timer
inst.ptr.Lo ; drawing processor instruction pointer Lo byte
inst.ptr.Hi ; drawing processor instruction pointer Hi byte
char.ptr.Lo ; character data address pointer Lo byte
char.ptr.Hi ; character data address pointer Hi byte
endc

; Flag bits
Fcopy.buffer equ 0 ; Set when draw.buffer ready to be transfered to disp.buffer
Fhold.tout equ 1 ; Set when hold delay has completed
Fzero equ 3 ; Flag is set to indicate a value is 0 (zero)
Fcarry EQU 4 ; Flag is set to if add resulted in carry or subtract resulted in borrow
; Voxel function flag bits
Fvoxel.clr equ 0 ; voxel operations will Clear voxels
Fvoxel.set equ 1 ; voxel operations will Set voxels
Fvoxel.inv equ 2 ; voxel operations will Invert voxels
Fcharyz equ 3 ; Character draws in Y plane if set, Z plane if clear

; Port bits on PORTA
controlPort equ PORTA
bit.clk equ 0 ; shift register clock _/
bit.sin equ 1 ; shift register serial in
bit.latch equ 2 ; shift register latch \_
bit.switch equ 4 ; switch / SYNCEXT instruction input
bit.statusLED equ 5 ; status LED (not used in this code release)
; Port bits on PORTC
layerPort equ PORTC
bit.layer1 equ 0 ; LED cube layer drive (Y-axis 0)
bit.layer2 equ 1 ; LED cube layer drive (Y-axis 1)
bit.layer3 equ 2 ; LED cube layer drive (Y-axis 2)
bit.layer4 equ 3 ; LED cube layer drive (Y-axis 3)
bit.layer5 equ 4 ; LED cube layer drive (Y-axis 4)

;**********************************************************************
ORG 0x000 ; reset vector
nop
clrf PCLATH ;
goto reset.init ; go to initialisation code
org 0x004 ; set PC to interrupt vector
#include lc555_inthPCBC.inc ; interrupt handler code (must live here)
#include lc555_draw.inc ; draw functions
#include lc555_dp.inc ; Drawing Processor
#include lc555_chardata.inc ; Character drawing data
#include lc555_reset.inc ; PIC reset initialisation code.
#include lc555_macros.inc ; Display processor instruction definitions

radix dec
program.base.addr ; Drawing Processor user program starts here
; put drawing processor program include files here
#include CubeProgram.inc ; Drawing Processor program include file
;
;#include CubeProgramD.inc ; Drawing Processor program include file
;------------------------------------------------------------------------

END ; directive 'end of program'


arkadaşlar burada 5x5x5 led küp devresi için yazılmış asm kodu var kodun orjinalinde küp animasyona başlarken site isminin harflerini tektek yazdıktan sonra animasyona geçiyor.Bu kod içerisinde harflerin oluşturulduğu komut satırının hangisi olduğunu bilmiyorum daha doğrusu asm bilmiyorum bu kodu C dilinde yazabilecek arkadaşların yardımına ihtiyacım var.Yardımcı olursanız sevinirim.
 
Son düzenleme:
inc uzantılı dosyaların içinde oluşturmuş harfleri animasyonları inc dosyaların içinden değiştirebilirsin ama bilgi gerekli..
 

Forum istatistikleri

Konular
130,065
Mesajlar
932,701
Kullanıcılar
453,049
Son üye
cmk04

Yeni konular

Geri
Üst