راحته كافي اينتراپتهاي مربوطه رو صده بزني و پارامتراشونو ست كني بعد كار خودش انجام ميشهنوشته شده توسط nasim252
راحته كافي اينتراپتهاي مربوطه رو صده بزني و پارامتراشونو ست كني بعد كار خودش انجام ميشهنوشته شده توسط nasim252
آ خه مشكل اينه كه من تا حالا يه برنامه اسمبلي هم اجرا نكردم
فقط ميدونم داخل word pad بايد نوشته بشه و پسوندش عوض شه
از بس كه استاد بفكره
اگه يكي از اون دستو رارو برام نمونه بزارين ممنون ميشم
salam
man ye rahnami mikhastam darmorede inke PSP dar zabane assembli yani chi?
دوستام ببخشید از وسط بحث رسیدم دوباره سئولاتتون رو بپرسید.
;/------------------------------------------------;\
;| EProm to EEProm data loading program ;|
;| This program tries to test load a small block ;|
;| of data from a certain address of EPROM memory ;|
;| to the first EEPROM memory chip. Then, this ;|
;| copied block again is loaded to the second chip;|
;| of EEPROM. ;|
;\------------------------------------------------;/
#include <sfr51.inc>
STACK_START EQU 70h ;The initial value for SP register.
BLOCK_LEN EQU 10 ;The length of data block
ZERO EQU 0
;/---------------------------------;\
;| Variable Definitions ;|
;\---------------------------------;/
DSEG AT 50h
end
XSEG AT 0000h
EEArray1: DS 10 ;The data block of EEPROM1
end
XSEG AT 4800h
EEArray2: DS 10 ;The data block of EEPROM2
end
;/----------------------------------\
;| Main-Code Starting Point |
;\----------------------------------/
CSEG AT 0000h
ljmp START
START:
mov SP,#STACK_START
acall LoadEEProm1
acall LoadEEProm2
ajmp $
;/------------------------------------------------;\
;| 'LoadEEProm1' Routine ;|
;| Loads the source data block from EPROM memory ;|
;| chip to the EEPROM1's target block. ;|
;\------------------------------------------------;/
LoadEEProm1:
mov r2,#ZERO
LD1_LOOP:
mov DPTR,#EPROM_BLOCK
acall Add2DPTR ;Add DPTR with R2 register (as index)
clr a
movc a,@a+DPTR ;Read next data byte from EPROM chip.
mov DPTR,#EEArray1 ;Point DPTR at EEPROM1 target block.
acall Add2DPTR
movx @DPTR,a ;Write last read data byte to 'EEArray' block.
acall Delay ;Wait for completing write process.
inc r2 ;Goto the next address (next block index).
cjne r2,#BLOCK_LEN,LD1_LOOP
ret
;/------------------------------------------------;\
;| 'LoadEEProm2' Routine ;|
;| Loads the source data block from EEPROM1 memory;|
;| chip to the EEPROM2's target block. ;|
;\------------------------------------------------;/
LoadEEProm2:
mov r2,#ZERO
LD2_LOOP:
mov DPTR,#EEArray1
acall Add2DPTR ;Add DPTR with R2 register (as index)
movx a,@DPTR ;Read next data byte from EEPROM1 chip.
mov DPTR,#EEArray2 ;Point DPTR at EEPROM2 target block.
acall Add2DPTR ;Add DPTR with R2 register (as index).
movx @DPTR,a ;Write last read data byte to 'EEArray2' block.
acall Delay ;Wait for completing write process.
inc r2 ;Goto the next address (next block index).
cjne r2,#BLOCK_LEN,LD2_LOOP
ret
;/------------------------------------------------;\
;| 'Add2DPTR' Routine ;|
;| Adds DPTR with R2 register. In this experiment,;|
;| DPTR is loaded with an address with XY00h ;|
;| format. Hence, DPL register will be having 00h ;|
;| content, and because R2 is an 8 bit register, ;|
;| we have not to include DPH register in calcul- ;|
;| ations. ;|
;\------------------------------------------------;/
Add2DPTR:
push ACC
mov a,DPL
add a,r2
mov DPL,a
pop ACC
ret
;/----------------------------------;\
;| 'Delay' Routine : '5' msec ;|
;\----------------------------------;/
DELAY:
mov r3,#10
OUTER_LOOP:
mov r4,#255
INNER_LOOP:
djnz r4,INNER_LOOP
djnz r3,OUTER_LOOP
ret
;/=====================================\
;| 'Constant' Area |
;\=====================================/
ORG 1000h
EPROM_BLOCK:
DB 10h,20h,30h,40h,50h,60,70h,80h,90h,0AAh
end ;End of Code segment.
یک نمومه کد اسمبلی برای میکرو 8051 میتونی توی فرانکلین اجرا،دیباگ و سیمولینک کنی
یاحق
سلام یه چند تا سئوال هست اگه کسی بتونه حلشون کن ممنون میشم برای پروژه پایانی میخوام
توریي اّی درس بر اًه سازی سیستن
1 - بر نامه ای بنویسید که یک رشته را ازورودیی خوانده کاراکترهای آن را به صورت بزرَگ و کوچک در خر جٍی چاپ کند؟
مثال: computer >>>>>> CoMpUtEr
================================================== ==============================
2 - بر نامه ای بنویسید که یک رشته در کاراکتر c1 وc2 را از وردٍی بگیرد تماهی کاراکترهاّی c1 را در رشته ب کاراکتر c2
تبدیل کند.در نهایت رشته را در خر جٍی چاپ کند.
هثال: رشت :ِ student
کاراکتر 1 = t
کاراکتر 2 = @
خر جٍی = s@uden@
================================================== ==============================
3 - بر نامه ای بنویسید که محتویات AL را در مبنای هگز خر جٍی چاپ کند.
================================================== ==============================
4 - بر نامه ای بنویسید که بدون استفاد از عملگر تقسیم، باقیمانده تقسیم در ثبات AX را بر عدد 64 بدست آورٍده و دٍر خروجٍی چاپ کند
================================================== ==============================
5 - بر نامه ای بنویسید که یک رشته 100 کاراکتری را درنظًر گرفته 20 کاراکتر وسٍط آن را به string1 و 20 کاراکتر آخر آن را به string2 منتٌقل کنذٌ سپس هرّ کدام از رشته ها در سطر هاّی جذاگانه چاپ کند.
================================================== ==============================
6 - قطع کد زیر را به زبان اسمبلی نویسید؟
X=12; Y=7; SUM=0
While(( (x+y)><30) && (x>3))
{
X=x-2;
Y=y+3;
If ((x mod 3 =0) and (y>15))
{
Sum= (sum*3)-1;
Else
Sum=(sum*2) -1;
}
}
================================================== ==============================
7 - بر نامه ای بنویسید که تعداد ومحل عناٌصری که اولٍ هستند را در یک آرایه 100 عنصری مشخص کرده و در خروجٍی چاپ کند.
================================================== ==============================
8 - بر نامه ای بنویسید که شکل زیر را در خر جٍی چاپ کند
10
9 10
8 9 10
7 8 9 10
6 7 8 9 10
5 6 7 8 9 10
Last edited by serj1; 24-08-2013 at 13:55. دليل: بزرگ بودن متن و اشتباه تایپی
یعنی کسی نیست کمک کنه عجبا
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)