Julian, love that hilarious production stress bit at the end! My friend, more of your completely disarming personality shines through with each new video. Keep it up bro, and never change to meet the approval of anyone else. You are the real deal and if you ever hear criticism's on your candid politeness, let loose and tell them where to get off (the train).
@cs84253 жыл бұрын
Really liked this one. Didn't really want to do anything with assembly till I watched this. You make it sound so simple and easy.
@tedbastwock38108 ай бұрын
Best Assembly video on KZbin. Most ASM vids assume x86, the ones that dont assume x86 do assume more knowledge than most viewers have. This vid is perfect. TY Julian. However, viewers from today forward should be aware that Microchip, the manufacturers of PIC chips, changed the IDE, such that some of the IDE-specific code shown here has changed ... a YT comment is not the format to explain this, but if interested you can find the details. Again, thank you very much Julian for this video!!!
@premjipatel2812 Жыл бұрын
Very impressed with simplified explanation, very informative for beginners like me
@AdamWelchUK7 жыл бұрын
Ace video - and an awful lot of work for you. Glad you've not been fired. :-)
@followthetrawler7 жыл бұрын
Thank you Julian - really great explanations - shows perfectly why datasheets are so important.
@chrisshipman62537 жыл бұрын
Excellent video. Everything clearly explained and very well thought out. A lot of effort must be going into these PIC tutorials - many thanks.
@JulianIlett7 жыл бұрын
Thanks Chris :)
@csongorvarga7 жыл бұрын
It is interesting see at the end of the video how the off state is visibly longer than the on state due to the extra processing time of the goto statement.
@JulianIlett7 жыл бұрын
Exactly, I'll fix that in the next tutorial :)
@sootikins7 жыл бұрын
Yep, and also the one that made my butt pucker a bit: since the dox say the GPIO bits (0x05) are in an undefined state at power-up, at minimun GPIO 0 should be set to 1 (LED off) before setting up TRISIO. Pedantic? Yep! Do I work on systems that actually embody something a lot like Julian's metaphorical machine gun IRL? Yep. Pedantry justified. XD
@andr276 жыл бұрын
again, perfectly explained things. Huge thanks. I really appreciate your effort making this video
@oreubens7 жыл бұрын
1:39 Point of order! RISC does NOT mean a reduced set of instructions (as in a small number of instructions) but really means a set of reduced instructions (as a set of simple instructions). A RISC CPU like the PowerPC has a huge amount of instructions at it's disposal. What makes RISC is that instructions are typically doing only a single thing, where on CISC an instruction can do many things. The obvious example is adding to a (memory) variable, which in RISC takes a load memory to register, add to register (possibly even a load immediate value in register), add register/immediate to register, and store instruction. where on a CISC like the intel x86, this can (but it is not necessarily the best way) be done in a single instruction add register value/immediate to memory location, which does the load/store for you.
@JulianIlett7 жыл бұрын
+oreubens Point taken, reading Wikipedia now. It's not a very concise definition.
@oreubens7 жыл бұрын
it isn't, and it really is difficult to figure out what is meant. The whole idea behind it is that at some point CISC was evolving into such complexity that it was thought that making simpler instructions would make it easier to create processors, even at the cost of making the programming harder. Again, the theory behind that being that compilers could handle that complexity easier in software than it is to solve the problem of cramming ever more transistors on a chip and dealing with heat. And yes, there are RISC cpu's where they ALSO reduced the instruction set itself so having CPU's without a hardware multiply or divide That didn't help in making it obvious that RSIC wasn't about the amount of instructions, but about the amount of work each instruction does.The most obvious distinction is memory access where on RISC you have separate load/store instructions vs instructions that 'do' something like arithmetic, logic operations, shifts... (there's a few oddball exceptions here and there). On a CISC, you find instructions that 'do work' directly on memory.note however that even on current x86 x64 processors, you typically want to avoid the more CISC type usage of instructions and split them up into multiple separate load/operate/store instructions just like RISC, because it allows for a better usage of the CPU execution pipeline.
@JulianIlett7 жыл бұрын
I'm making some sense of this by reading about the One Instruction Set Computer (OISC) - totally fascinating en.wikipedia.org/wiki/One_instruction_set_computer
@battlecoder7 жыл бұрын
I normally don't see assembly language tutorials on youtube so I had to click on this video out of curiosity. I have to say it was pretty well done and easy to follow. A nice surprise indeed. I believe you mixed up GPIO with TRISIO at one point, though. The TRIS registers in fact start with all pins configured as input, but the corresponding GPIO bits start undefined. They will also later depend on what is connected to them (as they are inputs) once they are read, so no contradiction there. Other than that this was an excellent tutorial. Surprisingly clear especially considering that PICs are a bit of a "messy" architecture.
@Enjoymentboy7 жыл бұрын
Julian, I've struggled for years to get my head around programming. Even back in college in my pascal, assembler and c++ classes I was always lost. It's like getting a chicken to read japanese stereo instructions with a russian accent. I just could NOT get it. Now though I THINK some of it is starting to make sense. You've been able to do what no one in 23 years has been able to do. My thanks. :)
@JulianIlett7 жыл бұрын
Awesome - thanks very much :)
@jimsmindonline7 жыл бұрын
Good stuff Julian, don't stress too much! Making good sense so far. Would be cool if you looked the raw hex output by the assembler. Maybe an x.1 episode some day. :)
@JulianIlett7 жыл бұрын
Yes, I want to do that - the intelhex format is interesting and the way the fuse settings are embedded.
@joinedupjon7 жыл бұрын
Wanted to suggest this as a supplementary video too - I know you're using the IDE etc which 'makes it simple' by hiding it away, but a peek behind the curtains to see how the ORG directive and instructions affect what's in the file might be helpful for some of the more hardwarey people :)
@NivagSwerdna7 жыл бұрын
@20:00 You don't know the secret handshake? Just connect the PICKit3 to power WHILST holding down its button, this invalidates the firmware so when you ask MPLAB to talk to it there should then be an automagic download of compatible version.
@JulianIlett7 жыл бұрын
Yeah, I tried that a couple of days ago. Watching Dave Jones' video on PICkit 3 woes was very helpful :)
@NivagSwerdna7 жыл бұрын
also... If you connect a scope then you should be able to see the effect of the GOTO you described... should not be a 50/50 trace.
@JulianIlett7 жыл бұрын
Aha, you read my mind. Next time I'll show the asymmetrical on/off times, using NOPs to rebalance the symmetry. Then I'll use an XOR to toggle the I/O pin (explaining the read/modify/write issue) and show that toggling has natural symmetry. Toggling TRISIO avoids the read/modify/write problem with GPIO. I'm loving this :)
@NivagSwerdna7 жыл бұрын
finally.... could you single step using GP5 and Key2. Gotta go... think I left the machine gun connected....
@JulianIlett7 жыл бұрын
Haha - debounce - a tricky issue :)
@richardboyce49217 жыл бұрын
Excellent video Julian with a creative twist. Look forward 2.1
@JulianIlett7 жыл бұрын
Thanks Richard :)
@sudarapremathilaka17064 жыл бұрын
Great video tutorial. Clearly explaining Assembly language basics. Please do some more assembly language tutorials, it's very interesting. Thank u so much.
@ThiwankaWimalasuriya7 жыл бұрын
Julian, when can we see the next part of this series ? Thanks you !
@stevesm20107 жыл бұрын
Excellent stuff Julian. I love your explanation style and the amount of detial you go into. Still waiting on my board (arrival imminent!) but I'm following along with interest!
@JulianIlett7 жыл бұрын
Thanks Steve - hope your board arrives soon :)
@Fubar123417 жыл бұрын
Hi, I am curious to know if you are going to take this tutorial series any further ? Really enjoyed it.
@JulianIlett7 жыл бұрын
+Chris Perkins yes, I'll go back to it when summer's over (which shouldn't be too long)
@zerog20007 жыл бұрын
+Julian Ilett can you make your MPLAB IDE font a bit bigger for those of us watching on small devices or small window desktop?
@JulianIlett7 жыл бұрын
Oh wow, I never thought of that - yes, I've scaled it up from 8pt to 12pt. Thanks Jens
@dandare627 жыл бұрын
Julian Ilett loving this series already, as with the rest of you videos, but is there a way you can zoom in on the a smaller part of the ide window, I seem to think you can just select a portion of the screen regardless of the window size. Really appreciate the work you put in to your channels
@FlyingShotsman7 жыл бұрын
Thanks, Julian. I too am thoroughly enjoying this series but frustrated that I can't read the code on your screen capture! Your narration has saved the day thus far...
@williamna58007 жыл бұрын
Isn't the x just there to show that its able to be set/has multiple values? I think this is same way its shown on PORT and LAT registers as well(on other larger pics of course).
@johnarmstrong37827 жыл бұрын
My pickit 3 hasn't arrived yet! And I've got to bodge it together with the board before it will work?
@libanabu62224 жыл бұрын
hey what is the board you are using and where can I buy
@FinepixF304 жыл бұрын
Actually the best way if you want to allow the micro controller to do other stuff while the LED blinks, you use the watchdog timer which can do an interruption request to change the LED status on fix intervals.
@petercbruun7 жыл бұрын
Hi Julian Ilett. Super video.. where to buy the test board?
@sarah13907 жыл бұрын
House of Teixido refer to video zero in the series as he gives where he got it
@petercbruun7 жыл бұрын
super :-) thanks
@mickeymadsen31067 жыл бұрын
Hello Julian :-) super videos. Why aren't you using MPLAB X IDE 3.45?And programming in C?
@trt9697 жыл бұрын
Great video, extremely well explained. Let me ask something, is the clone PICkit 3 able to control the VDD voltage, let's say set it to 3v3? Thank you!
@stefflus087 жыл бұрын
You know, looking back I think this might be your greatest initiative yet. Electronics and especially programming often goes from "Easy" to "Hard" skipping "Medium" alltogether. Arduino might give you some insight, but if you're only using other peoples' libraries and snippets of code you're really not prepared for setting up the infrastructure of code needed for a standalone system.
@jimsmindonline7 жыл бұрын
Got my kit and already caught up, thanks Julian! Similar issues with my clone pickit as others but the standalone is working fine. 👍
@yanito19797 жыл бұрын
when's the next pic tutorial coming out? great work with the videos by the way!
@edwardsymons27647 жыл бұрын
Love these tutorials. Is there going to be a tutorial 2.1 or 3?
@NetworkXIII7 жыл бұрын
Great work as always Julian!
@TheDutyPaid7 жыл бұрын
These tutorials will work up to how do make a key fob activated machine gun in the boot of your car 'Breaking Bad' final style.
@interlinkknight7 жыл бұрын
Wow, this PIC programming is complicated. I learn with Arduino and I think is much simpler. But now I wonder: is there any advantage of using PIC instead of arduino? Or they have different purpose?
@JulianIlett7 жыл бұрын
Yes it is complicated and it's much less productive. So why learn it? Because it teaches you how microcontrollers actually work :)
@interlinkknight7 жыл бұрын
I am not that advance, but at least because of watching this video I have an idea now. Thanks
@JasonMasters7 жыл бұрын
They are essentially the same thing. They're both microcontrollers (a complete computer on a chip). The big difference is that the Arduino has a program already installed (the bootloader) which makes it easier to load up new programs. Also, Arduino is programmed using C rather than in assembler (although it can be programmed in assembler if you want to) The advantage of Arduino is convenience. The disadvantages are that the bootloader takes up some of the program memory space (although that's not usually a problem since it takes very little space) and using the C language tends to distance the programmer from what's actually going on inside the hardware, which can lead to sloppy programming practices. In general, knowing how things are done in assembly language will tend to make you a better high-level language programmer too. But having said all of that, I have to admit that there's very little to choose from between them. The relative advantages and disadvantages are small and perhaps even insignificant, when viewed dispassionately. So if you're happy programming in C, then certainly you can stick to programming the Arduino that way. But if you want to learn what the C language is doing for you "in the background" then you'll want to learn assembly language.
@moatazmaged53055 жыл бұрын
Hey bro....how can i write an assembly code that will turn on a LED when i presses a push-button switch. When the switch is released, the LED will turn off. After the switch is pressed and released a specific number of times, a second LED is to turn on and stay lit forever. Using PIC16F84A and PICKIT2 Programmer Thanks in advance for your help
@azyfloof7 жыл бұрын
Nice work, Jules! :D Glad you didn't get your arse fired :P I noticed the LED off time was slightly longer than the on time, is that because of the tiny extra time it takes for the GOTO to loop round? If you took out the second NOP and put it after the LED on code, could you make an exact 50% duty cycle? Could be a neat 555 timer replacement (obviously not pin compatible) that generates nice 50% duty cycle square waves with a RC oscillator :D
@JulianIlett7 жыл бұрын
Well spotted. In fact the on time is half the length of the off time, so the GOTO is having a very large effect. And you're right - moving the NOP would restore the symmetry perfectly :)
@azyfloof7 жыл бұрын
Julian Ilett Ooh! :D Follow up vid? I'd be surprised how fast a square wave you could get out of it. Also the RC clock could lead to some interesting ideas, like arbitrary waveform generation, or sinewave simulation using data points plotted into a lookup table :) (I've done this on arduino to move servos :D )
@chillipaste3867 жыл бұрын
Thank goodness I managed to live through the PicTutor and the 16F(C)84 and we have Arduino nowadays. LOL Many thanks for the video. It brought back memories. But it also re-affirmed that I shall never return to PIC and ASM.
@babyflurryheart91147 жыл бұрын
who is your boss
@scotia8076 жыл бұрын
Is there an episode for someone who's had no programing experience? I've searched for some way tomlearn how to setup the software with only people saying click here and do this and don't tell why. Some say i'll explain why i did this later and then they don't. The ones that really bother me are the experts that have such a bad accent i can't understand them.
@pfeerick7 жыл бұрын
Well, that answers that question... I'll have to wait for the PIC12F675s to arrive... I tried to port this over to the PIC12LF1840 that I currently have in my proto-boarded version of the experimenters board, and I don't seem to be able to get the clock to start up when doing ASM code... only with the C code so far. However, I've been looking at the program memory (I'm using MPLAB X) and one nice benefit of this video is I can actually start understanding the ASM instructions that the compiler is using... neat! So now I can see how "LATAbits.LATA0 = 1;" becomes "BSF LATA, 0x0" and how "TRISAbits.TRISA0 = 0;" becomes "BCF TRISA, 0x0". Neat! btw, maybe the issues with the PICKit3 and MPLAB are due to not switching the PICKit3 back into MPLAB mode after using the PICKit3 Standalone Programmer, as that loads a different firmware onto the PICKit3? Another thing to consider is if you have had MPLAB X installed, there is a "MPLAB Device Driver Switcher", which switches between MPLAB 8 and MPLAB X drivers.
@pfeerick7 жыл бұрын
Actually, it looks like the driver switcher doesn't apply for the PICKit3... it's for their other programmers like the Real ICE or ICD3. I did try MPLAB 8.92 though, and after it downgraded the PICKit3 firmware to a version it preferred (second time I tried doing this it half installed, so I unplugged the PICKit3 and reconnected it and it successfully installed). It was then able to connect to the programmer and upload to the PIC without any trouble. And MPLAB upgrades the firmware again when I use it. I don't intend to switch back and forwards, but it seems like my setup is stable enough with either version of MPLAB.
@jayherde07 жыл бұрын
Thank you for including the Pickit3. I hope it doesn't get in the way for those using Pickit2. This is going to be sooo much fun! Except - Alice sent me a tachometer instead of the development board. And now she wants to know if I can use that instead! Off to find a bare chip, which you thoughtfully have allowed for. Thanks :-D
@slm60uk7 жыл бұрын
How are you getting away with putting code at address 0x00 - the Reset Vector?
@techy41987 жыл бұрын
slm60uk because it's perfectly reasonable to have this code start running immediately after a reset
@himselfe7 жыл бұрын
I would argue that it's good practice to use notation to indicate which radix a number is in regardless of whether it's needed or not as it avoids ambiguity in code and maintains consistency. 100% of software bugs are the result of either laziness or incompetence! Best to teach people good practice from the offset. :P
@NivagSwerdna7 жыл бұрын
I used 255 and ended up getting 85 very confusing.... in the end this was hex is the default radix so 255 is 255 in hex but the higher bits get thrown away giving 55 hex which is 85 decimal! Should have said .255 obvious really!
@TheProCactus7 жыл бұрын
100% of bugs not not due to laziness or incompetence, only some are, You cannot measure that.
@himselfe7 жыл бұрын
TheProCactus: yes you can. Code isn't magic, it behaves in a precisely defined way.
@NivagSwerdna7 жыл бұрын
himselfe so when you go shopping you say i'm going to buy D'12' eggs? the default radix in C and in life is 10 so this is a trap for new players.
@himselfe7 жыл бұрын
That's the point though, when the radix isn't decimal it's good to consistently show that in the code regardless of whether you technically need to or not. Can't imagine any situation where I'd want to buy 3346 eggs mind you! Also, I read your comment in the voice of Dave Jones. xD
@jimsmindonline7 жыл бұрын
Finally managed my own delay loop. :) Just a couple of repeating loops using decfsz. I need to work on using the clock and timer but my head starts to explode fairly quickly!
@gapadad27 жыл бұрын
It's stuff like this that keep me a hardware engineer. I'm trying to follow along but I'm falling behind in understanding what is going on.
@TomStorey967 жыл бұрын
Ask questions, people will answer (hopefully)!
@rich10514146 жыл бұрын
I am a software engineer, and this hardware level stuff trips me up as well :P However, it is why I am interested.
@kardeef333177 жыл бұрын
when you say file, do you mean address?
@pfeerick7 жыл бұрын
Yes. It's just that the datasheet refers to it as f(ile) place, and address in another. :-/
@LouesSCat7 жыл бұрын
Wait.. you're not American Why was the first thing you thought of attaching to a microcontrollers misfiring pin a machine gun?
@JulianIlett7 жыл бұрын
In the past I suggested that "all the world's nuclear weapons were connected to the PIC output pins", but that seems a bit severe :)
@LouesSCat7 жыл бұрын
I do remember that... You sure you're not just a little American?
@GoScada7 жыл бұрын
I believe program should reside after 0x04 location, at least (if I remember correctly, 0x04 is the location of the interrupt vector)
@JulianIlett7 жыл бұрын
If global interrupts are disabled (which they are by default), location 0x04 is not an issue.
@mikaelkarlsson99457 жыл бұрын
Well done.. The error in line 11 is because STATUS register have moved from 03h to 83h since you are calling it from bank 1.
@Aperson-sv2hc7 жыл бұрын
*brace for noob question* what's a pic? Is that like arduino with extra tiny models and expensive programming software?...
@pfeerick7 жыл бұрын
Huh? Expensive programming software? It's a free download from the Microchip website! lol Just in case you're really asking... PICs are simply another type of microcontroller. Arduinos are powered by AVR microcontrollers, these are just another type. STM is yet another family/type of microcontroller.
@petti787 жыл бұрын
A pic is what people had instead of arduinos in the bad old times :-)
@Aperson-sv2hc7 жыл бұрын
+petti78 lol... i don't see how you got that point of view.
@pfeerick7 жыл бұрын
Yeah, the real bad old times... like 2016! :-P
@mshine57 жыл бұрын
Top notch tutorial, Sir!
@TomStorey967 жыл бұрын
Hi Julian. I know its early days, but I hope you'll cover the "read modify write" problem in a later video, explaining why writing directly to the GPIO register isnt the best idea. With two LEDs on your board this could actually be a really neat demonstration of the problem and its solution! But otherwise, great video. I always say to bloggers that I watch that they shouldnt be concerned about the length of their videos. Certainly since this video was about making an LED blink, I think going in to the delay loops would have been totally apt and worth the extra time. Anyhow, this is your channel not mine, so I'll just leave that there. :-)
@JulianIlett7 жыл бұрын
The read-modify-write issue come up soon, when I use XOR on GPIO to toggle the LED state. Using XOR on TRISIO is a workaround.
@TheProCactus7 жыл бұрын
I always thought that 'Unknown' also means 'Don't care' also 'Not set' ? *also 'Unchanged'
@MD-vs9ff7 жыл бұрын
TheProCactus It depends on context.
@1st_ProCactus7 жыл бұрын
@Mark, Are there any other then the four I mentioned ?
@DAVIDGREGORYKERR7 жыл бұрын
It turns out that the programs that will only run on Windows will run under Wine64 so yes a whole development system can be run on Linux Mint 17.3 (Rosa) 64bit system.
@JulianIlett7 жыл бұрын
Thanks David, that's good to hear :)
@HellTriX7 жыл бұрын
Good job @Julian Ilett
@nabarnes7 жыл бұрын
I've watched the vid twice (still waiting for the dev. board to turn up, although the Pickit3 arrived today and some ridiculously small pitch cables yesterday!). I've watched it twice and am banging my head against something which, I am sure, is blindingly obvious, but I just don't get it... I get the fact that you've got to switch banks. What I don't get is that the register you have to change is in bank 0 and yet you can still access this register once you have switched to bank 1. Surely once you've changed the register, it becomes inaccessible as any reference to the 'file/location' will be pointing to bank 1? Sure as eggs is eggs, I'm missing something. Maybe I should keep watching until it clicks...
@JulianIlett7 жыл бұрын
It's elegantly simple - the STATUS register exists in both banks - it has to - that's the only way it can work :)
@nabarnes7 жыл бұрын
Doh! Perhaps I should have done my homework and actually read the data sheet. I've downloaded and printed it now. Slapped wrist. Sorry!
@mrswinkyuk6 жыл бұрын
Really, REALLY good videos. Thank you :-)
@michaelo2l6 жыл бұрын
TRISIO = three states... Hi/Low/Disconnected (hi impedance)... if memory serves...
@rich10514146 жыл бұрын
I am a programmer and I am not offended. You simply added a turbo button :) And yes, turbo means slower, not faster.
@PeranMe7 жыл бұрын
As expected, great stuff!
@MkEDS7 жыл бұрын
Really enjoyed that video. I'm hoping to learn enough to be able to at least understand how to modify some existing code for which our company only has the assembler code. Yikes!
@nicktohzyu7 жыл бұрын
no, 1M/6=~183k
@bigfilsing7 жыл бұрын
Great...... first real PIC programming info vid But hang on ! Already 2 items outside of the shopping list Frequency counter and tantalum cap. The later to cover a fudge to meet a hypothetical self imposed deadline ................. Add to that the @ 2:55 reference to the watchdog timer with no explanation at all . Bit disappointing really
@fatroberto30124 жыл бұрын
Watch dog timer is in first video
@Sailingon6 жыл бұрын
I wrote a stepper motor driver years ago in ASM on a 16f84 then moved on to a satellite tracker a bio diesel process controller and many more than wanted to do more maths which was so long winded I move on to proton pic basic which was very slow in comparison to ASM but woohoo you can embed the bits you want fast in ASM 😁
@gartmorn7 жыл бұрын
Thought you were going to use pickit2 to avoid pickit3 issues. I'm only a beginner and doing my best to keep up so adding unnecessary problems is only adding to my already steep learning curve. Not criticising your great videos just asking you to remember the numpties like me!
@JulianIlett7 жыл бұрын
In hindsight, it might have been easier to use just the PICkit2. But I've recommended both now, so I have to cover all the issues (which is a lot of work).
@gartmorn7 жыл бұрын
Julian Ilett I have a pickit3 but got a pickit2 anyway as they're ridiculously cheap (clones)! I need to do more study of relevant literature so I can keep pace! Hardware not a problem but software side is a bit more demanding on my old brain cell!
@Spector_NS5_RD7 жыл бұрын
all this for friggin blinking LED??? yikes!
@TomStorey967 жыл бұрын
Assembly is a very low level language, its basically one rung above the raw machine code that actually tells the chip what to do. There is essentially nothing implied with assembly, so you have to put in the effort to get the results. The best saying Ive heard is that it will do what you tell it to do, not what you intend it to do. If something isnt working properly, its because you havent told it how to operate properly.
@3mariusx5 жыл бұрын
Tom Storey actually i don’t share the same opinion that is a very low level language...
@jonvannatto7 жыл бұрын
Well I've been following this tutorial as i'm very new to PIC's but it seems programming them with Assembly is well beyond my skill level. I can see why the Arduino environment is so popular as getting to blinky is simple.
@seamonkeys12y7 жыл бұрын
Oh no. The pic I got a few months ago to learn and experiment on (16F1936) has 31 banks of registers. May god have mercy on my soul
@jays20017 жыл бұрын
Your hardware approach doesn't really work, you're fired. Because the goto uses 8 clock cycles and the noops only 4 you have the LED off for twice as long as you have it on. It's not symmetrical.
@joinedupjon7 жыл бұрын
was a precise 50/50 duty cycle written into the spec? :/
@pfeerick7 жыл бұрын
@joinedupjon: We don't know... we're not privy to those super-secret details. I suspect it was though... since Julian said he will fix that in the next video(s). :-P
@petti787 жыл бұрын
Trying to discourage most people from getting into assembler programming are we? ;)
@LouesSCat7 жыл бұрын
If so he has failed. I want it more than ever :p
@jeffmerlin25807 жыл бұрын
Excellent!
@meiot61894 жыл бұрын
thank you so much, sir
@_who_cares_11237 жыл бұрын
Can you show how to compile C-Code with mplab? Sothat we can program a pic in C
@JulianIlett7 жыл бұрын
Not in this tutorial series - sorry.
@elyesmehri30676 жыл бұрын
really really clever !
@aheletcodefloppydevice.21964 жыл бұрын
very good
@AuctorisVideo7 жыл бұрын
Great video; but as a some-time embedded systems programmer, the kludge of hacking the clock-speed is making my teeth itch! :-)
@JulianIlett7 жыл бұрын
I was hoping it would ;)
@dmbrv7 жыл бұрын
nice video :)
@austinskylines7 жыл бұрын
First! Have a great day Julian!!!
@Reuben10247 жыл бұрын
I remember now why I stopped writing assembler, no disrespect to Julian, it's just not for me
@nishiter7 жыл бұрын
Julian lot of PIC videos alrdy 😐😐😐😐😐😐😐😐😐😐
@JulianIlett7 жыл бұрын
My head is full of PIC tutorial stuff at the moment. It'll settle down.
@nishiter7 жыл бұрын
Julian Ilett 😉😉😉😉😉😉😉 keep it up..vl wait.
@PhilC1847 жыл бұрын
That's sent the boys home, all that are left are real men, because only real men program in assembler.
@JulianIlett7 жыл бұрын
I think you're right - maybe I should have put "machine gun" in the title :)
@paulrautenbach7 жыл бұрын
The PIC architecture is Ugly. Only use 14 bits instructions and then to make this work, invent register banks. That's Ugly.
@ZEROSTATIC727 жыл бұрын
Paul, Yes it's a bit ugly. Mostly hangovers from earlier chip series. Original chips had only a 12 bit instruction word and a special instruction for setting each of the special function registers. When I started with the PIC chips there were only 4 chips in the series and there were only one time programmable, rom and UV erasable development chips. The chip Julian is using is several generations later but has many holdovers from the past.
@himselfe7 жыл бұрын
Also, just say no to nested loops! Hardware sleep instruction or be burned at the stake!
@JulianIlett7 жыл бұрын
Hmm, I guess the stake awaits me after the next tutorial :(
@joinedupjon7 жыл бұрын
My first PC was a 386 with a tortoise & hare switch so you could slow the CPU down for gaming
@DupczacyBawol7 жыл бұрын
It is not designed for normal people to use. End of story.